if returning errno value directly from a syscall, we need to negate it.

This commit is contained in:
Rich Felker 2011-03-19 23:18:34 -04:00
commit be82e122bf
3 changed files with 3 additions and 3 deletions

View file

@ -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 (to.tv_sec < 0) return ETIMEDOUT;
} }
if (priv) priv = 128; priv=0; 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; if (r == ETIMEDOUT) return r;
return 0; return 0;
} }

View file

@ -2,5 +2,5 @@
int pthread_kill(pthread_t t, int sig) 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);
} }

View file

@ -6,7 +6,7 @@ int clock_nanosleep(clockid_t clk, int flags, const struct timespec *req, struct
{ {
int ret; int ret;
CANCELPT_BEGIN; CANCELPT_BEGIN;
ret = __syscall(__NR_clock_nanosleep, clk, flags, req, rem); ret = -__syscall(__NR_clock_nanosleep, clk, flags, req, rem);
CANCELPT_END; CANCELPT_END;
return ret; return ret;
} }