diff --git a/kqueue.c b/kqueue.c index a92315fe..08369c6d 100644 --- a/kqueue.c +++ b/kqueue.c @@ -356,7 +356,7 @@ kq_del(void *arg, struct event *ev) int nsignal = EVENT_SIGNAL(ev); memset(&kev, 0, sizeof(kev)); - kev.ident = (int)signal; + kev.ident = nsignal; kev.filter = EVFILT_SIGNAL; kev.flags = EV_DELETE; diff --git a/test/regress.c b/test/regress.c index 904e4288..d0f135c0 100644 --- a/test/regress.c +++ b/test/regress.c @@ -446,7 +446,8 @@ test_simplesignal(void) event_dispatch(); skip_simplesignal: - signal_del(&ev); + if (signal_del(&ev) == -1) + test_ok = 0; cleanup_test(); }