From dd8df005220efb3425188b25c65e1281bb77d345 Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Tue, 22 Aug 2023 23:54:08 +0200
Subject: eventcount: Fix locking thread while calling thread_setrun

---
 kern/eventcount.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'kern/eventcount.c')

diff --git a/kern/eventcount.c b/kern/eventcount.c
index 4dda5186..1cbc15a2 100644
--- a/kern/eventcount.c
+++ b/kern/eventcount.c
@@ -260,12 +260,12 @@ evc_signal(evc_t ev)
 		 *	on run queue.
 		 */
 		thread->state = (state &~ TH_WAIT) | TH_RUN;
-		thread_unlock(thread);
 #if NCPUS > 1
 		thread_setrun(thread, TRUE);
 #else
 		simpler_thread_setrun(thread, TRUE);
 #endif
+		thread_unlock(thread);
 		break;
 
 	    case TH_RUN | TH_WAIT:
-- 
cgit v1.2.3