--- src/sys/kern/lwkt_serialize.c 2005/05/24 21:22:05 1.1 +++ src/sys/kern/lwkt_serialize.c 2005/05/25 01:44:14 1.2 @@ -110,7 +110,11 @@ lwkt_serialize_handler_enable(lwkt_seria void lwkt_serialize_handler_call(lwkt_serialize_t s, void (*func)(void *), void *arg) { - if (atomic_intr_handler_is_enabled(&s->interlock)) { + /* + * note: a return value of 0 indicates that the interrupt handler is + * enabled. + */ + if (atomic_intr_handler_is_enabled(&s->interlock) == 0) { atomic_intr_cond_enter(&s->interlock, lwkt_serialize_sleep, s); if (atomic_intr_handler_is_enabled(&s->interlock) == 0) func(arg);