zmutex(3)
CZMQ Manual - CZMQ/3.0.1
Name
zmutex - working with mutexes (deprecated)
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 void
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.
Please add @discuss section in ../src/zmutex.c.
Example
From zmutex_test method
zmutex_t *mutex = zmutex_new ();
assert (mutex);
zmutex_lock (mutex);
zmutex_unlock (mutex); zmutex_destroy (&mutex);
Authors
The czmq manual was written by the authors in the AUTHORS file.
Resources
Main web site:
Report bugs to the email <gro.qmorez.stsil|ved-qmorez#gro.qmorez.stsil|ved-qmorez>
Copyright
Copyright (c) 1991-2012 iMatix Corporation — http://www.imatix.com Copyright other contributors as noted in the AUTHORS file. This file is part of CZMQ, the high-level C binding for ØMQ: http://czmq.zeromq.org This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution.