Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // include:
- #ifdef __DARWIN_UNIX03
- #include <mach/mach_init.h>
- #include <mach/task_policy.h>
- #include <mach/task.h>
- #include <mach/semaphore.h>
- #else
- #include <semaphore.h>
- #endif
- // global:
- #ifdef __DARWIN_UNIX03
- semaphore_t semaphore;
- #else
- sem_t semaphore;
- #endif
- // init:
- #ifdef __DARWIN_UNIX03
- semaphore_create( mach_task_self(), &semaphore, 0, 0 );
- #else
- sem_init( &semaphore, 0, 0 );
- #endif
- // signal/post:
- #ifdef __DARWIN_UNIX03
- semaphore_signal( semaphore );
- #else
- sem_post( &semaphore );
- #endif
- // wait:
- #ifdef __DARWIN_UNIX03
- semaphore_wait( semaphore );
- #else
- sem_wait( &semaphore );
- #endif
- #ifdef __DARWIN_UNIX03
- semaphore_destroy( mach_task_self(), semaphore );
- #else
- sem_destroy( &semaphore );
- #endif
Add Comment
Please, Sign In to add comment