| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) | 
Disconnect from the HAM
#include <ha/ham.h> int ham_disconnect( unsigned flags); int ham_disconnect_nd( int nd, unsigned flags); int ham_disconnect_node( const char *nodename, unsigned flags);
libham
The ham_disconnect() function closes a previously open connection to a HAM. The ham_disconnect_nd() and ham_disconnect_node() functions close previously opened connections to remote HAMs.
The nd specified to ham_disconnect_nd is the node identifier of the remote node at the time the ham_disconnect_nd() call is made.
|  | Since node identifiers are transient objects, you should obtain the value for nd immediately before the call, using netmgr_strtond() or another function that converts nodenames into node identifiers. | 
The ham_disconnect_node() function takes as a parameter a fully qualified node name (FQNN).
Because the library maintains a reference count, the actual connection to the HAM is released only when the number of calls made to ham_disconnect() matches the number of calls previously made to ham_connect().
When a process calls ham_connect() and then calls fork(), the connection is no longer valid in the child process. To reconnect to the HAM, the child process must call either:
or:
There are no flags defined at this time.
| Safety: | |
|---|---|
| Cancellation point | No | 
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | Yes | 
ham_attach_self(), ham_connect(), ham_connect_nd(), ham_connect_node(), ham_stop()
fork() in the QNX Neutrino Library Reference
| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) |