]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/kern_synch.c
xnu-3789.70.16.tar.gz
[apple/xnu.git] / bsd / kern / kern_synch.c
index 34cb1520a21d096dd8716ec4fae8c9a99d1978f1..5f3b8546bf0b1a6a77cac831fc79d88321abc18e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2016 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
 
 #include <kern/task.h>
 #include <mach/time_value.h>
-#include <kern/lock.h>
+#include <kern/locks.h>
+#include <kern/policy_internal.h>
 
 #include <sys/systm.h>                 /* for unix_syscall_return() */
 #include <libkern/OSAtomic.h>
 
 extern void compute_averunnable(void *);       /* XXX */
 
-
-
+__attribute__((noreturn))
 static void
 _sleep_continue( __unused void *parameter, wait_result_t wresult)
 {
@@ -265,6 +265,7 @@ block:
                        error = EWOULDBLOCK;
                        break;
                case THREAD_AWAKENED:
+               case THREAD_RESTART:
                        /*
                         * Posix implies any signal should be delivered
                         * first, regardless of whether awakened due