diff options
author | Ray Strode <rstrode@redhat.com> | 2008-12-20 10:17:14 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2008-12-20 10:17:14 -0500 |
commit | 478c4b3137950365646c1e5670687c88993b3743 (patch) | |
tree | 089934d14c50ce2c78aacada3f2cd8512998a40a | |
parent | 5d8f7f839f06e28e94d02b1e7cbf6257fe3e41e8 (diff) |
Send SIGTERM when disconnected from bus
This gives us a chance to potentially shutdown
gracefully.
-rw-r--r-- | dbus.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,4 @@ +#include <signal.h> #include <stdbool.h> #include <stdlib.h> #include <stdio.h> @@ -16,7 +17,12 @@ struct wlsc_dbus { static DBusHandlerResult wlsc_dbus_filter(DBusConnection *connection, DBusMessage *message, void *data) { - printf("dbus filter!\n"); + if (dbus_message_is_signal (message, + DBUS_INTERFACE_LOCAL, + "Disconnected")) { + raise(SIGTERM); + return DBUS_HANDLER_RESULT_HANDLED; + } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } |