ConnectDetach(), ConnectDetach_r()
Break a connection between a process and a channel
Synopsis:
#include <sys/neutrino.h> int ConnectDetach( int coid ); int ConnectDetach_r( int coid );
Arguments:
- coid
- The connection ID of the connection you want to break.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The ConnectDetach() and ConnectDetach_r() kernel calls detach the connection specified by the coid argument. If any threads are blocked on the connection (MsgSendv() ) at the time the connection is detached, the send fails and returns with an error.
These functions are identical except in the way they indicate errors. See the Returns section for details.
Blocking states
These calls don't block.
Returns:
The only difference between these functions is the way they indicate errors:
- ConnectDetach()
- If an error occurs, the function returns -1 and sets errno . Any other value returned indicates success.
- ConnectDetach_r()
- EOK is returned on success. This function does NOT set errno. If an error occurs, the function returns a value in the Errors section.
Errors:
- EINVAL
- The connection specified by coid doesn't exist.
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |