projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.29.13: relax CAST-EXTERNALLY-CHECKABLE-P a bit
[sbcl.git]
/
src
/
runtime
/
pthread-futex.c
diff --git
a/src/runtime/pthread-futex.c
b/src/runtime/pthread-futex.c
index
a08eb80
..
cddcda9
100644
(file)
--- a/
src/runtime/pthread-futex.c
+++ b/
src/runtime/pthread-futex.c
@@
-227,12
+227,9
@@
futex_wait(int *lock_word, int oldval, long sec, unsigned long usec)
{
int ret, result;
struct futex *futex;
{
int ret, result;
struct futex *futex;
- sigset_t oldset, newset;
+ sigset_t oldset;
struct timeval tv, *timeout;
struct timeval tv, *timeout;
- sigemptyset(&newset);
- sigaddset_deferrable(&newset);
-
again:
if (sec < 0)
timeout = NULL;
again:
if (sec < 0)
timeout = NULL;
@@
-245,7
+242,7
@@
again:
timeout = &tv;
}
timeout = &tv;
}
- pthread_sigmask(SIG_BLOCK, &newset, &oldset);
+ block_deferrable_signals(0, &oldset);
futex = futex_get(lock_word);
futex = futex_get(lock_word);
@@
-311,12
+308,9
@@
futex_wake(int *lock_word, int n)
{
int ret;
struct futex *futex;
{
int ret;
struct futex *futex;
- sigset_t newset, oldset;
-
- sigemptyset(&newset);
- sigaddset_deferrable(&newset);
+ sigset_t oldset;
- pthread_sigmask(SIG_BLOCK, &newset, &oldset);
+ block_deferrable_signals(0, &oldset);
futex = futex_get(lock_word);
futex = futex_get(lock_word);