summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-02-09 21:58:12 +0000
committerDavid Robillard <d@drobilla.net>2012-02-09 21:58:12 +0000
commitd649f6712e6d103da9be58dab66a5cee28361d46 (patch)
tree4da1f2c6f12330554fc608ff9b33e7e23cf0e5c5
parenta53c719dbc146474fc2659442cc2fdd7ff714f15 (diff)
downloadzix-d649f6712e6d103da9be58dab66a5cee28361d46.tar.gz
zix-d649f6712e6d103da9be58dab66a5cee28361d46.tar.bz2
zix-d649f6712e6d103da9be58dab66a5cee28361d46.zip
Fix (and test) semaphore initialisation on OSX.
git-svn-id: http://svn.drobilla.net/zix/trunk@65 df6676b4-ccc9-40e5-b5d6-7c4628a128e3
-rw-r--r--test/sem_test.c5
-rw-r--r--zix/sem.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/test/sem_test.c b/test/sem_test.c
index 1399229..bcc4116 100644
--- a/test/sem_test.c
+++ b/test/sem_test.c
@@ -65,7 +65,10 @@ main(int argc, char** argv)
printf("Testing %u signals...\n", n_signals);
- zix_sem_init(&sem, 0);
+ if (zix_sem_init(&sem, 0)) {
+ fprintf(stderr, "Failed to create semaphore.\n");
+ return 1;
+ }
ZixThread reader_thread;
if (zix_thread_create(&reader_thread, 128, reader, NULL)) {
diff --git a/zix/sem.h b/zix/sem.h
index 48115d5..ef01767 100644
--- a/zix/sem.h
+++ b/zix/sem.h
@@ -101,7 +101,7 @@ static inline ZixStatus
zix_sem_init(ZixSem* sem, unsigned initial)
{
return semaphore_create(mach_task_self(), &sem->sem, SYNC_POLICY_FIFO, 0)
- ? ZIX_STATUS_SUCCESS : ZIX_STATUS_ERROR;
+ ? ZIX_STATUS_ERROR : ZIX_STATUS_SUCCESS;
}
static inline void