diff options
author | Max Kellermann <max@duempel.org> | 2013-10-18 08:56:25 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-10-18 08:56:25 +0200 |
commit | bf8660b21c31075c2c76c0075791871035115c7d (patch) | |
tree | 00ecfab62a7eced860e961baca03c75477221b5d /test/run_inotify.cxx | |
parent | 43863a70c87c80e3a15315f561c3a247b27c81fa (diff) |
test/run_inotify: use SignalMonitor
Diffstat (limited to 'test/run_inotify.cxx')
-rw-r--r-- | test/run_inotify.cxx | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/test/run_inotify.cxx b/test/run_inotify.cxx index 6796480e5..fb614432e 100644 --- a/test/run_inotify.cxx +++ b/test/run_inotify.cxx @@ -18,6 +18,7 @@ */ #include "config.h" +#include "ShutdownHandler.hxx" #include "InotifySource.hxx" #include "event/Loop.hxx" #include "util/Error.hxx" @@ -26,15 +27,6 @@ #include <glib.h> #include <sys/inotify.h> -#include <signal.h> - -static EventLoop *event_loop; - -static void -exit_signal_handler(gcc_unused int signum) -{ - event_loop->Break(); -} enum { IN_MASK = IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_DELETE_SELF @@ -62,10 +54,11 @@ int main(int argc, char **argv) path = argv[1]; - event_loop = new EventLoop(EventLoop::Default()); + EventLoop event_loop((EventLoop::Default())); + const ShutdownHandler shutdown_handler(event_loop); Error error; - InotifySource *source = InotifySource::Create(*event_loop, + InotifySource *source = InotifySource::Create(event_loop, my_inotify_callback, nullptr, error); if (source == NULL) { @@ -80,15 +73,7 @@ int main(int argc, char **argv) return 2; } - struct sigaction sa; - sa.sa_flags = 0; - sigemptyset(&sa.sa_mask); - sa.sa_handler = exit_signal_handler; - sigaction(SIGINT, &sa, NULL); - sigaction(SIGTERM, &sa, NULL); - - event_loop->Run(); + event_loop.Run(); delete source; - delete event_loop; } |