(7) add set_signal_handlers() to bind functions during init
authorkremlin <ian@kremlin.cc>
Tue, 5 Aug 2014 02:37:30 +0000 (21:37 -0500)
committerkremlin <ian@kremlin.cc>
Tue, 5 Aug 2014 02:37:30 +0000 (21:37 -0500)
this function calls attached the ones from the previous commit to the
GLib runtime properly. since we are working solely in the default context
(in terms on the GMainLoop) we are guaranteed the attached functions will
only run once.

src/interfaces/localed/localed.c
src/interfaces/logind/logind.c
src/interfaces/timedated/timedated.c

index 83c8de2ba82c5eeda61bac6433e8841bbee970e7..27448acb59e0fa832ffb56a44ff6c6dca578a975 100644 (file)
@@ -142,6 +142,14 @@ gboolean unix_sig_terminate_handler(gpointer data) {
        return G_SOURCE_REMOVE;
 }
 
+void set_signal_handlers() {
+
+    /* we don't care about its descriptor, we never need to unregister these */
+    g_unix_signal_add(SIGINT,  unix_sig_terminate_handler, NULL);
+    g_unix_signal_add(SIGHUP,  unix_sig_terminate_handler, NULL);
+    g_unix_signal_add(SIGTERM, unix_sig_terminate_handler, NULL);
+}
+
 int main() {
 
        localed_loop = g_main_loop_new(NULL, TRUE);
index a0b0343f27708c80c113ddc6d64e709d2284b856..da9e24b58f22d3009aaf5188da9630616da6cafd 100644 (file)
@@ -142,6 +142,14 @@ gboolean unix_sig_terminate_handler(gpointer data) {
     return G_SOURCE_REMOVE;
 }
 
+void set_signal_handlers() {
+
+    /* we don't care about its descriptor, we never need to unregister these */
+    g_unix_signal_add(SIGINT,  unix_sig_terminate_handler, NULL);
+    g_unix_signal_add(SIGHUP,  unix_sig_terminate_handler, NULL);
+    g_unix_signal_add(SIGTERM, unix_sig_terminate_handler, NULL);
+}
+
 int main() {
 
        logind_loop = g_main_loop_new(NULL, TRUE);
index 265a33f020c041c595186496474fb350f7dd9680..32f040a2f775dd1f25048f78c7676eff030c12e4 100644 (file)
@@ -142,6 +142,14 @@ gboolean unix_sig_terminate_handler(gpointer data) {
     return G_SOURCE_REMOVE;
 }
 
+void set_signal_handlers() {
+
+    /* we don't care about its descriptor, we never need to unregister these */
+    g_unix_signal_add(SIGINT,  unix_sig_terminate_handler, NULL);
+    g_unix_signal_add(SIGHUP,  unix_sig_terminate_handler, NULL);
+    g_unix_signal_add(SIGTERM, unix_sig_terminate_handler, NULL);
+}
+
 int main() {
 
        timedated_loop = g_main_loop_new(NULL, TRUE);