diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,5 @@ +#include <stdio.h> +#include <signal.h> #include <stddef.h> #include <assert.h> #include <ltdl.h> @@ -6,6 +8,11 @@ #include "mainloop.h" #include "module.h" +static void signal_callback(struct mainloop_source *m, int sig, void *userdata) { + mainloop_quit(mainloop_source_get_mainloop(m), -1); + fprintf(stderr, "Got signal.\n"); +} + int main(int argc, char *argv[]) { struct mainloop *m; struct core *c; @@ -19,6 +26,9 @@ int main(int argc, char *argv[]) { c = core_new(m); assert(c); + mainloop_source_new_signal(m, SIGINT, signal_callback, NULL); + signal(SIGPIPE, SIG_IGN); + module_load(c, "sink-pipe", NULL); module_load(c, "protocol-simple-tcp", NULL); |