MEDIUM: pollers: Remember the state for read and write for each threads.
In the poller code, instead of just remembering if we're currently polling
a fd or not, remember if we're polling it for writing and/or for reading, that
way, we can avoid to modify the polling if it's already polled as needed.
diff --git a/include/proto/fd.h b/include/proto/fd.h
index 673eaae..4fbb9dc 100644
--- a/include/proto/fd.h
+++ b/include/proto/fd.h
@@ -37,7 +37,11 @@
extern volatile struct fdlist update_list;
-extern unsigned long *polled_mask;
+
+extern struct polled_mask {
+ unsigned long poll_recv;
+ unsigned long poll_send;
+} *polled_mask;
extern THREAD_LOCAL int *fd_updt; // FD updates list
extern THREAD_LOCAL int fd_nbupdt; // number of updates in the list