MINOR: spoa-server: Allow registering external processes
Add struct for declaring an reistrering external processing resource.
diff --git a/contrib/spoa_server/spoa.c b/contrib/spoa_server/spoa.c
index 3766c47..6645c8c 100644
--- a/contrib/spoa_server/spoa.c
+++ b/contrib/spoa_server/spoa.c
@@ -97,6 +97,13 @@
bool debug = false;
pthread_key_t worker_id;
+static struct ps *ps_list = NULL;
+
+void ps_register(struct ps *ps)
+{
+ ps->next = ps_list;
+ ps_list = ps;
+}
static void
check_ipv4_reputation(struct worker *w, struct in_addr *ipv4)
@@ -925,10 +932,15 @@
struct sockaddr_in client;
int *info = (int *)data;
int csock, lsock = info[0];
+ struct ps *ps;
signal(SIGPIPE, SIG_IGN);
pthread_setspecific(worker_id, &info[1]);
+ /* Init registered processors */
+ for (ps = ps_list; ps != NULL; ps = ps->next)
+ ps->init_worker(&w);
+
while (1) {
socklen_t sz = sizeof(client);