Virtual circuits

I have been experiencing problems with virtual circuits failing when more
than one node is “sending” to a process on another node, the problem seems
to be worse if a process or processes on the remote node are also talking to
the remote process. It would appear that is send() returns -1 then the
virtual circuit is broken (is this the case ?)

I used to use qnx_name_locate(0, “/xxx/name”, &copies) only once to set up
the virtual circuit ant then send() uses the returned vid.

I have found a better solution is to use qnx_vc_name_attach(Node, 1000,
“/xxx/name”) and then if send() fails I reattach the remote process using
qnx_vc_name_attach again. My question is this :-

If send() fails then can I (or must I) use qnx_vc_detach to get rid of the
‘old’ virtual circuit ?

ie is it safe to qnx_vc_detach(old_vid) where old_vid has been broken

Ray Threadgould