From 4e31cf929eefe3fa68d634f06e6eb10e54a31054 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 26 Feb 2019 15:33:51 +0100 Subject: [PATCH] Fixed ReleaseSemaphore, respect lReleaseCount Signal the semapore lReleaseCount times. --- winpr/libwinpr/synch/semaphore.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/winpr/libwinpr/synch/semaphore.c b/winpr/libwinpr/synch/semaphore.c index 34eb21d..f3068b5 100644 --- a/winpr/libwinpr/synch/semaphore.c +++ b/winpr/libwinpr/synch/semaphore.c @@ -246,11 +246,16 @@ BOOL ReleaseSemaphore(HANDLE hSemaphore, LONG lReleaseCount, LPLONG lpPreviousCo } #else + + while (lReleaseCount > 0) + { #if defined __APPLE__ - semaphore_signal(*((winpr_sem_t*) semaphore->sem)); + semaphore_signal(*((winpr_sem_t*) semaphore->sem)); #else - sem_post((winpr_sem_t*) semaphore->sem); + sem_post((winpr_sem_t*) semaphore->sem); #endif + } + #endif return TRUE; } -- 2.7.4