summaryrefslogtreecommitdiff
path: root/test/run_inotify.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-10-18 08:56:25 +0200
committerMax Kellermann <max@duempel.org>2013-10-18 08:56:25 +0200
commitbf8660b21c31075c2c76c0075791871035115c7d (patch)
tree00ecfab62a7eced860e961baca03c75477221b5d /test/run_inotify.cxx
parent43863a70c87c80e3a15315f561c3a247b27c81fa (diff)
test/run_inotify: use SignalMonitor
Diffstat (limited to 'test/run_inotify.cxx')
-rw-r--r--test/run_inotify.cxx25
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;
}