Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FreeRDP/FreeRDP-old.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/freerdp/utils/semaphore.h1
-rw-r--r--libfreerdp-utils/semaphore.c9
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__