diff options
author | Dorian Johnson <2011@dorianj.net> | 2011-07-04 00:07:35 +0400 |
---|---|---|
committer | Dorian Johnson <2011@dorianj.net> | 2011-07-04 00:07:35 +0400 |
commit | ddb612cdf86bbead052bd308772a3ef8ec2ab7cf (patch) | |
tree | 6fcf8055a4e87c8ebe6ca43a488b3309d07fd9eb | |
parent | 15f613a0f5dcb3cbd52eeae014db86ae84fa93dc (diff) |
utils: add semaphore_destroy to release a semaphore
-rw-r--r-- | include/freerdp/utils/semaphore.h | 1 | ||||
-rw-r--r-- | libfreerdp-utils/semaphore.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/freerdp/utils/semaphore.h b/include/freerdp/utils/semaphore.h index 6f630e0..2230af2 100644 --- a/include/freerdp/utils/semaphore.h +++ b/include/freerdp/utils/semaphore.h @@ -23,5 +23,6 @@ void freerdp_sem_create(void * sem_struct, int iv); void freerdp_sem_signal(void * sem_struct); void freerdp_sem_wait(void * sem_struct); +void freerdp_sem_destroy(void * sem_struct); #endif /* __SEMAPHORE_UTILS_H */ diff --git a/libfreerdp-utils/semaphore.c b/libfreerdp-utils/semaphore.c index 8d1acde..3661377 100644 --- a/libfreerdp-utils/semaphore.c +++ b/libfreerdp-utils/semaphore.c @@ -37,6 +37,15 @@ void freerdp_sem_create(void * sem_struct, int iv) #endif } +void freerdp_sem_destroy(void * sem_struct) +{ +#ifdef __APPLE__ + semaphore_destroy(mach_task_self(), *((semaphore_t *)sem_struct)); +#else + sem_destroy((sem_t *)sem_struct); +#endif +} + void freerdp_sem_signal(void * sem_struct) { #ifdef __APPLE__ |