From 6818f18275417fd7ba327410a0069b885e5ee7a8 Mon Sep 17 00:00:00 2001 From: yhirose Date: Wed, 26 Sep 2012 11:55:14 -0400 Subject: [PATCH] Added SIGINT signal handler. --- example/sample.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/example/sample.cc b/example/sample.cc index bf7804d..9e8cce3 100644 --- a/example/sample.cc +++ b/example/sample.cc @@ -7,14 +7,23 @@ #include #include +#include using namespace httpsvrkit; +template void signal(int sig, Fn fn) +{ + static std::function signal_handler_; + struct SignalHandler { static void fn(int sig) { signal_handler_(); } }; + signal_handler_ = fn; + signal(sig, SignalHandler::fn); +} + int main(void) { const char* hi = "/hi"; - HTTP_SERVER("localhost", 1234) { + // svr, req, res GET("/", { res.set_redirect(hi); @@ -27,6 +36,10 @@ int main(void) GET("/dump", { res.set_content(dump_request(cxt)); }); + + signal(SIGINT, [&](){ + svr->stop(); + }); } }