summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kern/sched_prim.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/kern/sched_prim.c b/kern/sched_prim.c
index b3c60ada..6af03f16 100644
--- a/kern/sched_prim.c
+++ b/kern/sched_prim.c
@@ -152,9 +152,15 @@ void thread_check(thread_t, run_queue_t);
queue_head_t wait_queue[NUMQUEUES];
decl_simple_lock_data(, wait_lock[NUMQUEUES])
+#include <oskit/types.h>
+
/* NOTE: we want a small positive integer out of this */
-#define wait_hash(event) \
- ((((int)(event) < 0) ? ~(int)(event) : (int)(event)) % NUMQUEUES)
+static inline int
+wait_hash(event_t arg)
+{
+ oskit_sreg_t event = (oskit_sreg_t)arg;
+ return ((event < 0 ? ~event : event) % NUMQUEUES);
+}
void wait_queue_init(void)
{