[Glibc-bsd-commits] r4647 - in trunk/glibc-ports/kfreebsd: . fbtl
Petr Salinger
ps-guest at alioth.debian.org
Mon Jul 8 12:48:18 UTC 2013
Author: ps-guest
Date: 2013-06-28 17:32:25 +0000 (Fri, 28 Jun 2013)
New Revision: 4647
Added:
trunk/glibc-ports/kfreebsd/fbtl/sleep.c
Modified:
trunk/glibc-ports/kfreebsd/sleep.c
Log:
cancel also sleep(0) properly
Added: trunk/glibc-ports/kfreebsd/fbtl/sleep.c
===================================================================
--- trunk/glibc-ports/kfreebsd/fbtl/sleep.c (rev 0)
+++ trunk/glibc-ports/kfreebsd/fbtl/sleep.c 2013-06-28 17:32:25 UTC (rev 4647)
@@ -0,0 +1,2 @@
+#include <pthreadP.h>
+#include "../sleep.c"
Modified: trunk/glibc-ports/kfreebsd/sleep.c
===================================================================
--- trunk/glibc-ports/kfreebsd/sleep.c 2013-06-28 16:17:27 UTC (rev 4646)
+++ trunk/glibc-ports/kfreebsd/sleep.c 2013-06-28 17:32:25 UTC (rev 4647)
@@ -29,9 +29,14 @@
int ret;
/* This is not necessary but some buggy programs depend on this. */
- if (seconds == 0)
- return 0;
-
+ if (__builtin_expect (seconds == 0, 0))
+ {
+#ifdef CANCELLATION_P
+ CANCELLATION_P (THREAD_SELF);
+#endif
+ return 0;
+ }
+
ret = __nanosleep (&ts, &ts);
if (ret == 0)
More information about the Glibc-bsd-commits
mailing list