[MEDIUM] pollers: don't wait if a signal is pending

If an asynchronous signal is received outside of the poller, we don't
want the poller to wait for a timeout to occur before processing it,
so we set its timeout to zero, just like we do with pending tasks in
the run queue.
diff --git a/src/ev_kqueue.c b/src/ev_kqueue.c
index f520106..7e626d1 100644
--- a/src/ev_kqueue.c
+++ b/src/ev_kqueue.c
@@ -30,6 +30,7 @@
 #include <types/global.h>
 
 #include <proto/fd.h>
+#include <proto/signal.h>
 #include <proto/task.h>
 
 /* private data */
@@ -109,7 +110,7 @@
 	timeout.tv_sec  = 0;
 	timeout.tv_nsec = 0;
 
-	if (!run_queue) {
+	if (!run_queue && !signal_queue_len) {
 		if (!exp) {
 			delta_ms        = MAX_DELAY_MS;
 			timeout.tv_sec  = (MAX_DELAY_MS / 1000);