Tibrv::close()
Method
Declaration
static TibrvStatus close
();
Purpose
Stop and destroy Rendezvous internal machinery.
Remarks
After Tibrv::close() destroys the internal machinery, Rendezvous software becomes inoperative:
• | Events no longer arrive in queues. |
• | All events, queues and queue groups are unusable, so programs can no longer dispatch events. |
• | All transports are unusable, so programs can no longer send outbound messages. |
After closing a Tibrv object, all events, transports, queues and queue groups associated with that environment are invalid; it is illegal to call any methods of these objects.
Reference Count
A reference count protects against interactions between programs and third-party packages that call Tibrv::open() and Tibrv::close(). Each call to Tibrv::open() increments an internal counter; each call to Tibrv::close() decrements that counter. A call to Tibrv::open() actually creates internal machinery only when the reference counter is zero; subsequent calls merely increment the counter, but do not duplicate the machinery. A call to Tibrv::close() actually destroys the internal machinery only when the call decrements the counter to zero; other calls merely decrement the counter. In each program, the number of calls to Tibrv::open() and Tibrv::close() must match.