diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-01-09 09:17:05 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-01-28 18:07:38 -0500 |
commit | 4f180640f3a398bd75e1406111a74eb61a44a529 (patch) | |
tree | 6c1280bc8359f35a40df347d9b9301750cbae303 | |
parent | 7ec385f40406a23da7a52fd5a07131efb8973233 (diff) | |
download | haskell-4f180640f3a398bd75e1406111a74eb61a44a529.tar.gz |
rts: Use always-available locking operations in pthread Itimer implementation
Previously we ACQUIRE_LOCK and RELEASE_LOCK but these compile to a noop in the
non-threaded RTS, as noted in #16150. Use OS_ACQUIRE_LOCK and OS_RELEASE_LOCK
instead.
(cherry picked from commit ce11f6f25c1160262830d9670c4eaaebac37cbaf)
-rw-r--r-- | rts/posix/itimer/Pthread.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/rts/posix/itimer/Pthread.c b/rts/posix/itimer/Pthread.c index 90923c69c8..6cc211b401 100644 --- a/rts/posix/itimer/Pthread.c +++ b/rts/posix/itimer/Pthread.c @@ -134,12 +134,12 @@ static void *itimer_thread_func(void *_handle_tick) // first try a cheap test if (stopped) { - ACQUIRE_LOCK(&mutex); + OS_ACQUIRE_LOCK(&mutex); // should we really stop? if (stopped) { waitCondition(&start_cond, &mutex); } - RELEASE_LOCK(&mutex); + OS_RELEASE_LOCK(&mutex); } else { handle_tick(0); } @@ -176,19 +176,19 @@ initTicker (Time interval, TickProc handle_tick) void startTicker(void) { - ACQUIRE_LOCK(&mutex); + OS_ACQUIRE_LOCK(&mutex); stopped = 0; signalCondition(&start_cond); - RELEASE_LOCK(&mutex); + OS_RELEASE_LOCK(&mutex); } /* There may be at most one additional tick fired after a call to this */ void stopTicker(void) { - ACQUIRE_LOCK(&mutex); + OS_ACQUIRE_LOCK(&mutex); stopped = 1; - RELEASE_LOCK(&mutex); + OS_RELEASE_LOCK(&mutex); } /* There may be at most one additional tick fired after a call to this */ |