MINOR: config: Add threads support for "process" option on "bind" lines
It is now possible on a "bind" line (or a "stats socket" line) to specify the
thread set allowed to process listener's connections. For instance:
# HTTPS connections will be processed by all threads but the first and HTTP
# connection will be processed on the first thread.
bind *:80 process 1/1
bind *:443 ssl crt mycert.pem process 1/2-
diff --git a/include/types/listener.h b/include/types/listener.h
index b92c35e..c55569c 100644
--- a/include/types/listener.h
+++ b/include/types/listener.h
@@ -33,6 +33,7 @@
#include <common/config.h>
#include <common/mini-clist.h>
#include <common/hathreads.h>
+#include <common/standard.h>
#include <types/obj_type.h>
#include <eb32tree.h>
@@ -159,6 +160,7 @@
int is_ssl; /* SSL is required for these listeners */
int generate_certs; /* 1 if generate-certificates option is set, else 0 */
unsigned long bind_proc; /* bitmask of processes allowed to use these listeners */
+ unsigned long bind_thread[LONGBITS]; /* bitmask of threads (per processes) allowed to use these listeners */
struct { /* UNIX socket permissions */
uid_t uid; /* -1 to leave unchanged */
gid_t gid; /* -1 to leave unchanged */