zmutex(3)
CZMQ Manual - CZMQ/2.2.1
Name
zmutex - working with mutexes
Synopsis
// Create a new mutex container
CZMQ_EXPORT zmutex_t *
zmutex_new (void);
// Destroy a mutex container
CZMQ_EXPORT void
zmutex_destroy (zmutex_t **self_p);
// Lock mutex
CZMQ_EXPORT void
zmutex_lock (zmutex_t *self);
// Unlock mutex
CZMQ_EXPORT void
zmutex_unlock (zmutex_t *self);
// Try to lock mutex
CZMQ_EXPORT int
zmutex_try_lock (zmutex_t *self);
// Self test of this class
CZMQ_EXPORT int
zmutex_test (bool verbose);
Description
The zmutex class provides a portable wrapper for mutexes. Please do not use this class to do multi-threading. It is for the rare case where you absolutely need thread-safe global state. This should happen in system code only. DO NOT USE THIS TO SHARE SOCKETS BETWEEN THREADS, OR DARK THINGS WILL HAPPEN TO YOUR CODE.
Example
From zmutex_test method
zmutex_t *mutex = zmutex_new ();
zmutex_lock (mutex);
zmutex_unlock (mutex); zmutex_destroy (&mutex);
See also
Authors
The CZMQ manual was written by Pieter Hintjens<moc.xitami|hp#moc.xitami|hp>.
Resources
Main web site: http://czmq.zeromq.org/
Report bugs to the ØMQ development mailing list: <gro.qmorez.stsil|ved-qmorez#gro.qmorez.stsil|ved-qmorez>
Copyright
Copyright (c) 1991-2014 iMatix and Contributors. License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>. This is free software: you are free to change it and redistribute it. There is NO WARRANTY, to the extent permitted by law. For details see the files COPYING and COPYING.LESSER included with the CZMQ distribution.