MINOR: connections/mux: Add the wait reason(s) to wait_list.
Add a new element to the wait_list, that let us know which event(s) we are
waiting on.
diff --git a/include/proto/connection.h b/include/proto/connection.h
index e4621cc..35b9dfe 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -601,6 +601,7 @@
LIST_INIT(&cs->wait_list.list);
LIST_INIT(&cs->send_wait_list);
cs->conn = conn;
+ cs->wait_list.wait_reason = 0;
}
/* Initializes all required fields for a new connection. Note that it does the
diff --git a/include/types/connection.h b/include/types/connection.h
index abe85a4..9a1ba96 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -44,9 +44,15 @@
struct server;
struct pipe;
+enum sub_event_type {
+ SUB_CAN_SEND = 0x00000001, /* Schedule the tasklet when we can send more */
+ SUB_CAN_RECV = 0x00000002, /* Schedule the tasklet when we can recv more */
+};
+
struct wait_list {
struct tasklet *task;
struct list list;
+ int wait_reason;
};
/* A connection handle is how we differenciate two connections on the lower
@@ -90,9 +96,6 @@
CS_SHW_SILENT = 1, /* imminent close, don't notify peer */
};
-enum sub_event_type {
- SUB_CAN_SEND = 0x00000001, /* Schedule the tasklet when we can send more */
-};
/* For each direction, we have a CO_FL_{SOCK,DATA}_<DIR>_ENA flag, which
* indicates if read or write is desired in that direction for the respective
* layers. The current status corresponding to the current layer being used is