diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-03-19 23:18:34 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-03-19 23:18:34 -0400 |
commit | be82e122bf37fdcd1766d1ed220f0300b30ab6a3 (patch) | |
tree | 73c5cf53dcedb63a0e90d5741f7dc805bf5374ac /src/thread | |
parent | bae862ab18186aba5cd80f1443492f7730dff5f3 (diff) | |
download | musl-be82e122bf37fdcd1766d1ed220f0300b30ab6a3.tar.gz musl-be82e122bf37fdcd1766d1ed220f0300b30ab6a3.tar.bz2 musl-be82e122bf37fdcd1766d1ed220f0300b30ab6a3.tar.xz musl-be82e122bf37fdcd1766d1ed220f0300b30ab6a3.zip |
if returning errno value directly from a syscall, we need to negate it.
Diffstat (limited to 'src/thread')
-rw-r--r-- | src/thread/__timedwait.c | 2 | ||||
-rw-r--r-- | src/thread/pthread_kill.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/thread/__timedwait.c b/src/thread/__timedwait.c index b38ea990..28b777bc 100644 --- a/src/thread/__timedwait.c +++ b/src/thread/__timedwait.c @@ -17,7 +17,7 @@ int __timedwait(volatile int *addr, int val, clockid_t clk, const struct timespe if (to.tv_sec < 0) return ETIMEDOUT; } if (priv) priv = 128; priv=0; - r = __syscall(__NR_futex, (long)addr, FUTEX_WAIT | priv, val, at ? (long)&to : 0); + r = -__syscall(__NR_futex, (long)addr, FUTEX_WAIT | priv, val, at ? (long)&to : 0); if (r == ETIMEDOUT) return r; return 0; } diff --git a/src/thread/pthread_kill.c b/src/thread/pthread_kill.c index 6448d978..17aa5c4b 100644 --- a/src/thread/pthread_kill.c +++ b/src/thread/pthread_kill.c @@ -2,5 +2,5 @@ int pthread_kill(pthread_t t, int sig) { - return __syscall(__NR_tgkill, t->pid, t->tid, sig); + return -__syscall(__NR_tgkill, t->pid, t->tid, sig); } |