diff --git a/main.cpp b/main.cpp
index 48cb950..4a3c4d1 100644
--- a/main.cpp
+++ b/main.cpp
@@ -3,6 +3,10 @@
#include
#include |
+void on_signal(uv_signal_t *h, int signum) {
+ uv_stop(uv_default_loop());
+}
+
int main() {
uv_loop_t *loop = uv_default_loop();
@@ -15,7 +19,13 @@ int main() {
spdlog::error("got error!");
}
});
+ uv_signal_t signalHandles[2] = {};
+ uv_signal_init(loop, signalHandles);
+ uv_signal_start(signalHandles, on_signal, SIGINT);
+ uv_signal_init(loop, signalHandles + 1);
+ uv_signal_start(signalHandles + 1, on_signal, SIGTERM);
uv_run(loop, UV_RUN_DEFAULT);
+ spdlog::info("event loop ended");
return 0;
}
|