[Glibc-bsd-commits] r4649 - trunk/glibc-ports/kfreebsd/fbtl
Petr Salinger
ps-guest at alioth.debian.org
Mon Jul 8 12:48:20 UTC 2013
Author: ps-guest
Date: 2013-06-28 18:08:51 +0000 (Fri, 28 Jun 2013)
New Revision: 4649
Modified:
trunk/glibc-ports/kfreebsd/fbtl/sem_post.c
trunk/glibc-ports/kfreebsd/fbtl/sem_timedwait.c
trunk/glibc-ports/kfreebsd/fbtl/sem_wait.c
Log:
our futex_{,timed_}wait returns error as positive number
Modified: trunk/glibc-ports/kfreebsd/fbtl/sem_post.c
===================================================================
--- trunk/glibc-ports/kfreebsd/fbtl/sem_post.c 2013-06-28 17:33:57 UTC (rev 4648)
+++ trunk/glibc-ports/kfreebsd/fbtl/sem_post.c 2013-06-28 18:08:51 UTC (rev 4649)
@@ -48,9 +48,9 @@
{
int err = lll_futex_wake (&isem->value, 1,
isem->private ^ FUTEX_PRIVATE_FLAG);
- if (__builtin_expect (err, 0) < 0)
+ if (__builtin_expect (err, 0) != 0)
{
- __set_errno (-err);
+ __set_errno (err);
return -1;
}
}
@@ -69,9 +69,9 @@
(void) atomic_increment_val (futex);
/* We always have to assume it is a shared semaphore. */
int err = lll_futex_wake (futex, 1, LLL_SHARED);
- if (__builtin_expect (err, 0) < 0)
+ if (__builtin_expect (err, 0) != 0)
{
- __set_errno (-err);
+ __set_errno (err);
return -1;
}
return 0;
Modified: trunk/glibc-ports/kfreebsd/fbtl/sem_timedwait.c
===================================================================
--- trunk/glibc-ports/kfreebsd/fbtl/sem_timedwait.c 2013-06-28 17:33:57 UTC (rev 4648)
+++ trunk/glibc-ports/kfreebsd/fbtl/sem_timedwait.c 2013-06-28 18:08:51 UTC (rev 4649)
@@ -94,9 +94,9 @@
rt.tv_sec = sec;
rt.tv_nsec = nsec;
err = do_futex_timed_wait(isem, &rt);
- if (err != 0 && err != -EWOULDBLOCK)
+ if (err != 0 && err != EWOULDBLOCK)
{
- __set_errno (-err);
+ __set_errno (err);
err = -1;
break;
}
Modified: trunk/glibc-ports/kfreebsd/fbtl/sem_wait.c
===================================================================
--- trunk/glibc-ports/kfreebsd/fbtl/sem_wait.c 2013-06-28 17:33:57 UTC (rev 4648)
+++ trunk/glibc-ports/kfreebsd/fbtl/sem_wait.c 2013-06-28 18:08:51 UTC (rev 4649)
@@ -67,9 +67,9 @@
while (1)
{
err = do_futex_wait(isem);
- if (err != 0 && err != -EWOULDBLOCK)
+ if (err != 0 && err != EWOULDBLOCK)
{
- __set_errno (-err);
+ __set_errno (err);
err = -1;
break;
}
@@ -112,9 +112,9 @@
/* Disable asynchronous cancellation. */
__pthread_disable_asynccancel (oldtype);
}
- while (err == 0 || err == -EWOULDBLOCK);
+ while (err == 0 || err == EWOULDBLOCK);
- __set_errno (-err);
+ __set_errno (err);
return -1;
}
More information about the Glibc-bsd-commits
mailing list