name_detach()

Remove a name from the namespace and destroy the channel

Synopsis:

#include <sys/iofunc.h>
#include <sys/dispatch.h>

int name_detach( name_attach_t * attach, 
                 unsigned flags );

Arguments:

attach
A pointer to the name_attach_t structure returned by name_attach().
flags
Flags that affect the function's behavior:

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The name_detach() function removes the name from the namespace and destroys the channel created by name_attach(). If you set NAME_FLAG_DETACH_SAVEDPP in flags, the dispatch pointer contained in the name_attach_t structure isn't destroyed; it's up to you to destroy it by calling dispatch_destroy(). The default is to destroy the dispatch pointer.

Returns:

Zero on success, or -1 if an error occurs (errno is set).

Errors:

EINVAL
The mount ID (mntid) was never attached with name_attach().

Examples:

See name_attach() and resmgr_detach().

Classification:

QNX Neutrino

Safety:
Cancellation point Yes
Interrupt handler No
Signal handler No
Thread Yes

See also:

ChannelDestroy(), dispatch*() functions, name_attach(), name_close(), name_open(), resmgr_detach()

Message Passing chapter of Getting Started with QNX Neutrino