diff --git a/daemon/x52d_main.c b/daemon/x52d_main.c index 128dbd0..497d721 100644 --- a/daemon/x52d_main.c +++ b/daemon/x52d_main.c @@ -73,7 +73,7 @@ static void listen_signal(int signum, void (*handler)(int)) action.sa_handler = handler; sigemptyset(&action.sa_mask); - action.sa_flags = 0; + action.sa_flags = SA_RESTART; rc = sigaction(signum, &action, NULL); if (rc < 0) { @@ -261,6 +261,8 @@ int main(int argc, char **argv) const char *command_sock = NULL; int opt; int command_sock_fd; + int rc; + sigset_t sigblockset; /* Initialize gettext */ #if ENABLE_NLS @@ -353,6 +355,14 @@ int main(int argc, char **argv) set_log_file(foreground, log_file); x52d_config_load(conf_file); + // Disable pthread signals + sigfillset(&sigblockset); + rc = pthread_sigmask(SIG_BLOCK, &sigblockset, NULL); + if (rc != 0) { + PINELOG_FATAL(_("Error %d blocking signals on child threads: %s"), + errno, strerror(errno)); + } + // Start device threads x52d_dev_init(); x52d_clock_init(); @@ -362,6 +372,13 @@ int main(int argc, char **argv) x52d_mouse_evdev_init(); #endif + // Re-enable signals + rc = pthread_sigmask(SIG_UNBLOCK, &sigblockset, NULL); + if (rc != 0) { + PINELOG_FATAL(_("Error %d unblocking signals on child threads: %s"), + errno, strerror(errno)); + } + command_sock_fd = listen_command(command_sock); if (command_sock_fd < 0) { goto cleanup; diff --git a/po/libx52.pot b/po/libx52.pot index b2ec05d..2b280c2 100644 --- a/po/libx52.pot +++ b/po/libx52.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libx52 0.2.3\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n" -"POT-Creation-Date: 2022-06-05 08:22-0700\n" +"POT-Creation-Date: 2022-07-27 11:30-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -542,68 +542,78 @@ msgstr "" msgid "Error listening on command socket: %s" msgstr "" -#: daemon/x52d_main.c:315 +#: daemon/x52d_main.c:317 #, c-format msgid "Unable to parse configuration override '%s'\n" msgstr "" -#: daemon/x52d_main.c:343 +#: daemon/x52d_main.c:345 #, c-format msgid "Foreground = %s" msgstr "" -#: daemon/x52d_main.c:343 daemon/x52d_main.c:344 +#: daemon/x52d_main.c:345 daemon/x52d_main.c:346 msgid "true" msgstr "" -#: daemon/x52d_main.c:343 daemon/x52d_main.c:344 +#: daemon/x52d_main.c:345 daemon/x52d_main.c:346 msgid "false" msgstr "" -#: daemon/x52d_main.c:344 -#, c-format -msgid "Quiet = %s" -msgstr "" - -#: daemon/x52d_main.c:345 -#, c-format -msgid "Verbosity = %d" -msgstr "" - #: daemon/x52d_main.c:346 #, c-format -msgid "Log file = %s" +msgid "Quiet = %s" msgstr "" #: daemon/x52d_main.c:347 #, c-format -msgid "Config file = %s" +msgid "Verbosity = %d" msgstr "" #: daemon/x52d_main.c:348 #, c-format -msgid "PID file = %s" +msgid "Log file = %s" msgstr "" #: daemon/x52d_main.c:349 #, c-format +msgid "Config file = %s" +msgstr "" + +#: daemon/x52d_main.c:350 +#, c-format +msgid "PID file = %s" +msgstr "" + +#: daemon/x52d_main.c:351 +#, c-format msgid "Command socket = %s" msgstr "" -#: daemon/x52d_main.c:379 +#: daemon/x52d_main.c:362 +#, c-format +msgid "Error %d blocking signals on child threads: %s" +msgstr "" + +#: daemon/x52d_main.c:378 +#, c-format +msgid "Error %d unblocking signals on child threads: %s" +msgstr "" + +#: daemon/x52d_main.c:396 msgid "Reloading X52 configuration" msgstr "" -#: daemon/x52d_main.c:386 +#: daemon/x52d_main.c:403 msgid "Saving X52 configuration to disk" msgstr "" -#: daemon/x52d_main.c:392 +#: daemon/x52d_main.c:409 #, c-format msgid "Received termination signal %s" msgstr "" -#: daemon/x52d_main.c:415 +#: daemon/x52d_main.c:432 msgid "Shutting down X52 daemon" msgstr "" diff --git a/po/xx_PL.po b/po/xx_PL.po index f055275..f44b628 100644 --- a/po/xx_PL.po +++ b/po/xx_PL.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: libx52 0.2.3\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n" -"POT-Creation-Date: 2022-06-05 08:22-0700\n" -"PO-Revision-Date: 2022-06-05 08:51-0700\n" +"POT-Creation-Date: 2022-07-27 11:30-0700\n" +"PO-Revision-Date: 2022-07-27 11:32-0700\n" "Last-Translator: Nirenjan Krishnan \n" "Language-Team: Dummy Language for testing i18n\n" "Language: xx_PL\n" @@ -589,68 +589,78 @@ msgstr "Erroray indingbay otay ommandcay ocketsay: %s" msgid "Error listening on command socket: %s" msgstr "Erroray isteninglay onay ommandcay ocketsay: %s" -#: daemon/x52d_main.c:315 +#: daemon/x52d_main.c:317 #, c-format msgid "Unable to parse configuration override '%s'\n" msgstr "Unableay otay arsepay onfigurationcay overrideay '%s'\n" -#: daemon/x52d_main.c:343 +#: daemon/x52d_main.c:345 #, c-format msgid "Foreground = %s" msgstr "Oregroundfay = %s" -#: daemon/x52d_main.c:343 daemon/x52d_main.c:344 +#: daemon/x52d_main.c:345 daemon/x52d_main.c:346 msgid "true" msgstr "uetray" -#: daemon/x52d_main.c:343 daemon/x52d_main.c:344 +#: daemon/x52d_main.c:345 daemon/x52d_main.c:346 msgid "false" msgstr "alsefay" -#: daemon/x52d_main.c:344 +#: daemon/x52d_main.c:346 #, c-format msgid "Quiet = %s" msgstr "Uietqay = %s" -#: daemon/x52d_main.c:345 +#: daemon/x52d_main.c:347 #, c-format msgid "Verbosity = %d" msgstr "Erbosityvay = %d" -#: daemon/x52d_main.c:346 +#: daemon/x52d_main.c:348 #, c-format msgid "Log file = %s" msgstr "Oglay ilefay = %s" -#: daemon/x52d_main.c:347 +#: daemon/x52d_main.c:349 #, c-format msgid "Config file = %s" msgstr "Onfigcay ilefay = %s" -#: daemon/x52d_main.c:348 +#: daemon/x52d_main.c:350 #, c-format msgid "PID file = %s" msgstr "IDPay ilefay = %s" -#: daemon/x52d_main.c:349 +#: daemon/x52d_main.c:351 #, c-format msgid "Command socket = %s" msgstr "Ommandcay ocketsay = %s" -#: daemon/x52d_main.c:379 +#: daemon/x52d_main.c:362 +#, c-format +msgid "Error %d blocking signals on child threads: %s" +msgstr "Erroray %d ockingblay ignalssay onay ildchay eadsthray: %s" + +#: daemon/x52d_main.c:378 +#, c-format +msgid "Error %d unblocking signals on child threads: %s" +msgstr "Erroray %d unblockingay ignalssay onay ildchay eadsthray: %s" + +#: daemon/x52d_main.c:396 msgid "Reloading X52 configuration" msgstr "Eloadingray X52 onfigurationcay" -#: daemon/x52d_main.c:386 +#: daemon/x52d_main.c:403 msgid "Saving X52 configuration to disk" msgstr "Avingsay X52 onfigurationcay otay iskday" -#: daemon/x52d_main.c:392 +#: daemon/x52d_main.c:409 #, c-format msgid "Received termination signal %s" msgstr "Eceivedray erminationtay ignalsay %s" -#: daemon/x52d_main.c:415 +#: daemon/x52d_main.c:432 msgid "Shutting down X52 daemon" msgstr "Uttingshay ownday X52 aemonday"