From c49622e4ae428d185772e99ac06ae1760d064766 Mon Sep 17 00:00:00 2001 From: Joris Vink Date: Thu, 20 Jun 2013 23:29:26 +0200 Subject: [PATCH] do not schedule kqueue events if we've reached the limit of changelist. --- src/bsd.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bsd.c b/src/bsd.c index 25190e1..61caaaf 100644 --- a/src/bsd.c +++ b/src/bsd.c @@ -195,8 +195,13 @@ kore_event_wait(int quit) void kore_event_schedule(int fd, int type, int flags, void *data) { - EV_SET(&changelist[nchanges], fd, type, flags, 0, 0, data); - nchanges++; + if (nchanges >= KQUEUE_EVENTS) { + kore_log(LOG_WARNING, "cannot schedule %d (%d) on %d", + type, flags, fd); + } else { + EV_SET(&changelist[nchanges], fd, type, flags, 0, 0, data); + nchanges++; + } } void