[MAJOR] missing parenthesis in poll_loop() might have caused missed events.
diff --git a/haproxy.c b/haproxy.c
index b2526ce..5e08965 100644
--- a/haproxy.c
+++ b/haproxy.c
@@ -7148,7 +7148,7 @@
       for (count = 0; status > 0 && count < nbfd; count++) {
 	  fd = poll_events[count].fd;
 	  
-	  if (!poll_events[count].revents & ( POLLOUT | POLLIN | POLLERR | POLLHUP ))
+	  if (!(poll_events[count].revents & ( POLLOUT | POLLIN | POLLERR | POLLHUP )))
 	      continue;
 
 	  /* ok, we found one active fd */