summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kern/thread.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kern/thread.c b/kern/thread.c
index 1548e143..bf2df94f 100644
--- a/kern/thread.c
+++ b/kern/thread.c
@@ -1329,6 +1329,11 @@ kern_return_t thread_suspend(
hold = FALSE;
spl = splsched();
thread_lock(thread);
+ if (thread->state & TH_UNINT) {
+ thread_unlock(thread);
+ (void) splx(spl);
+ return KERN_FAILURE;
+ }
if (thread->user_stop_count++ == 0) {
hold = TRUE;
thread->suspend_count++;