diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2007-04-19 16:26:21 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2007-04-19 16:26:21 -0400 |
commit | 97c197478023ceb5477a203d058eaec2cb18f987 (patch) | |
tree | de6d59e24d3718b1727499b8dd049f85cda24436 /src/cairo-mutex-private.h | |
parent | 6d2a2dd6d9190c62b209e47c083b7df72e7134fb (diff) | |
download | cairo-97c197478023ceb5477a203d058eaec2cb18f987.tar.gz |
[cairo-mutex] Add default implementation for CAIRO_MUTEX_INIT
that uses CAIRO_MUTEX_NIL_INITIALIZER. This used to be the
implementation for pthread because pthread_mutex_init() is
broken. See d48bb4fbe876a93199ba48fcf5f32734fbe18ba9.
Diffstat (limited to 'src/cairo-mutex-private.h')
-rw-r--r-- | src/cairo-mutex-private.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/cairo-mutex-private.h b/src/cairo-mutex-private.h index ba9c39ac2..bc0fcfc96 100644 --- a/src/cairo-mutex-private.h +++ b/src/cairo-mutex-private.h @@ -63,10 +63,6 @@ CAIRO_BEGIN_DECLS # define CAIRO_MUTEX_INITIALIZE() CAIRO_MUTEX_NOOP # define CAIRO_MUTEX_LOCK(name) pthread_mutex_lock (&name) # define CAIRO_MUTEX_UNLOCK(name) pthread_mutex_unlock (&name) -# define CAIRO_MUTEX_INIT(mutex) do { \ - pthread_mutex_t tmp_mutex = PTHREAD_MUTEX_INITIALIZER; \ - memcpy (mutex, &tmp_mutex, sizeof (tmp_mutex)); \ -} while (0) # define CAIRO_MUTEX_FINI(mutex) pthread_mutex_destroy (mutex) # define CAIRO_MUTEX_NIL_INITIALIZER PTHREAD_MUTEX_INITIALIZER @@ -146,6 +142,13 @@ CAIRO_BEGIN_DECLS #undef CAIRO_MUTEX_DECLARE +#ifndef CAIRO_MUTEX_INIT +# define CAIRO_MUTEX_INIT(_mutex) do { \ + cairo_mutex_t _tmp_mutex = CAIRO_MUTEX_NIL_INITIALIZER; \ + memcpy ((_mutex), &_tmp_mutex, sizeof (_tmp_mutex)); \ +} while (0) +#endif + #ifndef CAIRO_MUTEX_FINI # define CAIRO_MUTEX_FINI(mutex) CAIRO_MUTEX_NOOP #endif |