aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--glougloud/glougloud.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/glougloud/glougloud.c b/glougloud/glougloud.c
index d5d3cad..a62ce5c 100644
--- a/glougloud/glougloud.c
+++ b/glougloud/glougloud.c
@@ -18,7 +18,7 @@
#include <libglouglou.h>
struct gg_server *ggserv_probes;
-struct gg_server *ggserv_clients;
+struct gg_server *ggserv_analysers;
struct event_base *ev_base;
int prb_handle_conn(struct gg_server *, struct gg_user *);
@@ -43,9 +43,12 @@ usage(void)
static void
sig_handler(int sig, short why, void *data)
{
- //log_info("got signal %d", sig);
- if (sig == SIGINT || sig == SIGTERM)
+ printf("glougloud: got signal %d\n", sig);
+ if (sig == SIGINT || sig == SIGTERM) {
event_base_loopexit(ev_base, NULL);
+ gg_server_stop(ggserv_probes);
+ gg_server_stop(ggserv_analysers);
+ }
}
int
@@ -83,7 +86,7 @@ main(int argc, char **argv)
ggserv_probes = gg_server_start(ev_base, "127.0.0.1", GLOUGLOU_PROBE_DEFAULT_PORT,
prb_handle_conn, prb_handle_packet, NULL);
- ggserv_clients = gg_server_start(ev_base, "127.0.0.1", GLOUGLOU_ANALY_DEFAULT_PORT,
+ ggserv_analysers = gg_server_start(ev_base, "127.0.0.1", GLOUGLOU_ANALY_DEFAULT_PORT,
cli_handle_conn, cli_handle_packet, NULL);
event_base_dispatch(ev_base);
@@ -106,7 +109,7 @@ cli_handle_conn(struct gg_server *srv, struct gg_user *usr)
int
prb_handle_packet(struct gg_server *srv, struct gg_user *usr, struct gg_packet *pkt)
{
- gg_server_send(ggserv_clients, pkt, NULL);
+ gg_server_send(ggserv_analysers, pkt, NULL);
return 0;
}