Guest User

Untitled

a guest
Jul 19th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. // include:
  2. #ifdef __DARWIN_UNIX03
  3. #include <mach/mach_init.h>
  4. #include <mach/task_policy.h>
  5. #include <mach/task.h>
  6. #include <mach/semaphore.h>
  7. #else
  8. #include <semaphore.h>
  9. #endif
  10.  
  11. // global:
  12. #ifdef __DARWIN_UNIX03
  13. semaphore_t semaphore;
  14. #else
  15. sem_t semaphore;
  16. #endif
  17.  
  18. // init:
  19. #ifdef __DARWIN_UNIX03
  20.     semaphore_create( mach_task_self(), &semaphore, 0, 0 );
  21. #else
  22.     sem_init( &semaphore, 0, 0 );
  23. #endif
  24.  
  25. // signal/post:
  26. #ifdef __DARWIN_UNIX03
  27.     semaphore_signal( semaphore );
  28. #else
  29.     sem_post( &semaphore );
  30. #endif
  31.  
  32. // wait:
  33. #ifdef __DARWIN_UNIX03
  34.     semaphore_wait( semaphore );
  35. #else
  36.     sem_wait( &semaphore );
  37. #endif
  38.  
  39. #ifdef __DARWIN_UNIX03
  40.     semaphore_destroy( mach_task_self(), semaphore );
  41. #else
  42.     sem_destroy( &semaphore );
  43. #endif
Add Comment
Please, Sign In to add comment