summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2014-07-14 18:43:28 (GMT)
committerNirbheek Chauhan <nirbheek@centricular.com>2014-07-14 18:43:28 (GMT)
commit4ebd3a09a6979bc568459aea842f09d12f4ad4f2 (patch)
tree50c58a9559a4083172e25e2daab0530b518e45ca /src/main.c
parent2d94a4b759ec2fc6290f601b10109f6625eeab7b (diff)
downloadsoup-transcoding-proxy-4ebd3a09a6979bc568459aea842f09d12f4ad4f2.zip
soup-transcoding-proxy-4ebd3a09a6979bc568459aea842f09d12f4ad4f2.tar.gz
main: Add SIGINT handler
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 2beca56..6e61c3e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -20,6 +20,8 @@
* Boston, MA 02110-1301, USA.
*/
+#include <glib-unix.h>
+
#include "lib.h"
#include "encode.h"
@@ -701,6 +703,13 @@ GET:
}
}
+gboolean
+exit_on_signal_cb (SoupServer *server)
+{
+ soup_server_quit (server);
+ return G_SOURCE_REMOVE;
+}
+
int
main (int argc,
char *argv[])
@@ -740,6 +749,7 @@ main (int argc,
G_CALLBACK (request_finished_cb), ctx_table);
g_signal_connect (server, "request-aborted",
G_CALLBACK (request_aborted_cb), ctx_table);
+ g_unix_signal_add (SIGINT, (GSourceFunc)exit_on_signal_cb, server);
soup_server_run (server);
return 0;