Ensure notification socket is bound when starting daemon

update-lkm
nirenjan 2022-09-22 21:28:20 -07:00
parent c2c2e91089
commit 7f59984357
5 changed files with 47 additions and 25 deletions

View File

@ -67,6 +67,7 @@ class Test:
self.program = self.find_daemon_program() self.program = self.find_daemon_program()
self.tmpdir = tempfile.TemporaryDirectory() self.tmpdir = tempfile.TemporaryDirectory()
self.command = os.path.join(self.tmpdir.name, "x52d.cmd") self.command = os.path.join(self.tmpdir.name, "x52d.cmd")
self.notify = os.path.join(self.tmpdir.name, "x52d.notify")
self.cmdsock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self.cmdsock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
self.daemon = None self.daemon = None
self.testcases = [] self.testcases = []
@ -109,6 +110,7 @@ class Test:
"-l", os.path.join(self.tmpdir.name, "x52d.log"), # Output logs to log file "-l", os.path.join(self.tmpdir.name, "x52d.log"), # Output logs to log file
"-p", os.path.join(self.tmpdir.name, "x52d.pid"), # PID file "-p", os.path.join(self.tmpdir.name, "x52d.pid"), # PID file
"-s", self.command, # Command socket path "-s", self.command, # Command socket path
"-b", self.notify, # Notification socket path
] ]
# Create empty config file # Create empty config file

View File

@ -302,6 +302,7 @@ int main(int argc, char **argv)
PINELOG_DEBUG(_("Config file = %s"), conf_file); PINELOG_DEBUG(_("Config file = %s"), conf_file);
PINELOG_DEBUG(_("PID file = %s"), pid_file); PINELOG_DEBUG(_("PID file = %s"), pid_file);
PINELOG_DEBUG(_("Command socket = %s"), command_sock); PINELOG_DEBUG(_("Command socket = %s"), command_sock);
PINELOG_DEBUG(_("Notify socket = %s"), notify_sock);
start_daemon(foreground, pid_file); start_daemon(foreground, pid_file);

View File

@ -70,6 +70,7 @@ static int listen_notify(const char *notify_sock_path)
listen_failure: listen_failure:
unlink(local.sun_path); unlink(local.sun_path);
close(sock_fd); close(sock_fd);
PINELOG_FATAL(_("Error setting up notification socket"));
return -1; return -1;
} }

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libx52 0.2.3\n" "Project-Id-Version: libx52 0.2.3\n"
"Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n"
"POT-Creation-Date: 2022-09-22 14:24-0700\n" "POT-Creation-Date: 2022-09-22 21:22-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -566,30 +566,35 @@ msgstr ""
msgid "Command socket = %s" msgid "Command socket = %s"
msgstr "" msgstr ""
#: daemon/x52d_main.c:315 #: daemon/x52d_main.c:305
#, c-format
msgid "Notify socket = %s"
msgstr ""
#: daemon/x52d_main.c:316
#, c-format #, c-format
msgid "Error %d blocking signals on child threads: %s" msgid "Error %d blocking signals on child threads: %s"
msgstr "" msgstr ""
#: daemon/x52d_main.c:334 #: daemon/x52d_main.c:335
#, c-format #, c-format
msgid "Error %d unblocking signals on child threads: %s" msgid "Error %d unblocking signals on child threads: %s"
msgstr "" msgstr ""
#: daemon/x52d_main.c:347 #: daemon/x52d_main.c:348
msgid "Reloading X52 configuration" msgid "Reloading X52 configuration"
msgstr "" msgstr ""
#: daemon/x52d_main.c:354 #: daemon/x52d_main.c:355
msgid "Saving X52 configuration to disk" msgid "Saving X52 configuration to disk"
msgstr "" msgstr ""
#: daemon/x52d_main.c:360 #: daemon/x52d_main.c:361
#, c-format #, c-format
msgid "Received termination signal %s" msgid "Received termination signal %s"
msgstr "" msgstr ""
#: daemon/x52d_main.c:377 #: daemon/x52d_main.c:378
msgid "Shutting down X52 daemon" msgid "Shutting down X52 daemon"
msgstr "" msgstr ""
@ -922,27 +927,31 @@ msgstr ""
msgid "Error listening on notification socket: %s" msgid "Error listening on notification socket: %s"
msgstr "" msgstr ""
#: daemon/x52d_notify.c:89 daemon/x52d_notify.c:105 #: daemon/x52d_notify.c:73
msgid "Error setting up notification socket"
msgstr ""
#: daemon/x52d_notify.c:90 daemon/x52d_notify.c:106
#, c-format #, c-format
msgid "Error %d reading from pipe: %s" msgid "Error %d reading from pipe: %s"
msgstr "" msgstr ""
#: daemon/x52d_notify.c:147 #: daemon/x52d_notify.c:148
#, c-format #, c-format
msgid "Error %d writing notification pipe: %s" msgid "Error %d writing notification pipe: %s"
msgstr "" msgstr ""
#: daemon/x52d_notify.c:192 #: daemon/x52d_notify.c:193
#, c-format #, c-format
msgid "Error %d creating notification pipe: %s" msgid "Error %d creating notification pipe: %s"
msgstr "" msgstr ""
#: daemon/x52d_notify.c:201 #: daemon/x52d_notify.c:202
#, c-format #, c-format
msgid "Error %d initializing notify thread: %s" msgid "Error %d initializing notify thread: %s"
msgstr "" msgstr ""
#: daemon/x52d_notify.c:207 #: daemon/x52d_notify.c:208
#, c-format #, c-format
msgid "Error %d initializing notify listener: %s" msgid "Error %d initializing notify listener: %s"
msgstr "" msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libx52 0.2.3\n" "Project-Id-Version: libx52 0.2.3\n"
"Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n"
"POT-Creation-Date: 2022-09-22 14:24-0700\n" "POT-Creation-Date: 2022-09-22 21:22-0700\n"
"PO-Revision-Date: 2022-09-21 09:30-0700\n" "PO-Revision-Date: 2022-09-22 21:23-0700\n"
"Last-Translator: Nirenjan Krishnan <nirenjan@gmail.com>\n" "Last-Translator: Nirenjan Krishnan <nirenjan@gmail.com>\n"
"Language-Team: Dummy Language for testing i18n\n" "Language-Team: Dummy Language for testing i18n\n"
"Language: xx_PL\n" "Language: xx_PL\n"
@ -615,30 +615,35 @@ msgstr "IDPay ilefay = %s"
msgid "Command socket = %s" msgid "Command socket = %s"
msgstr "Ommandcay ocketsay = %s" msgstr "Ommandcay ocketsay = %s"
#: daemon/x52d_main.c:315 #: daemon/x52d_main.c:305
#, c-format
msgid "Notify socket = %s"
msgstr "Otifynay ocketsay = %s"
#: daemon/x52d_main.c:316
#, c-format #, c-format
msgid "Error %d blocking signals on child threads: %s" msgid "Error %d blocking signals on child threads: %s"
msgstr "Erroray %d ockingblay ignalssay onay ildchay eadsthray: %s" msgstr "Erroray %d ockingblay ignalssay onay ildchay eadsthray: %s"
#: daemon/x52d_main.c:334 #: daemon/x52d_main.c:335
#, c-format #, c-format
msgid "Error %d unblocking signals on child threads: %s" msgid "Error %d unblocking signals on child threads: %s"
msgstr "Erroray %d unblockingay ignalssay onay ildchay eadsthray: %s" msgstr "Erroray %d unblockingay ignalssay onay ildchay eadsthray: %s"
#: daemon/x52d_main.c:347 #: daemon/x52d_main.c:348
msgid "Reloading X52 configuration" msgid "Reloading X52 configuration"
msgstr "Eloadingray X52 onfigurationcay" msgstr "Eloadingray X52 onfigurationcay"
#: daemon/x52d_main.c:354 #: daemon/x52d_main.c:355
msgid "Saving X52 configuration to disk" msgid "Saving X52 configuration to disk"
msgstr "Avingsay X52 onfigurationcay otay iskday" msgstr "Avingsay X52 onfigurationcay otay iskday"
#: daemon/x52d_main.c:360 #: daemon/x52d_main.c:361
#, c-format #, c-format
msgid "Received termination signal %s" msgid "Received termination signal %s"
msgstr "Eceivedray erminationtay ignalsay %s" msgstr "Eceivedray erminationtay ignalsay %s"
#: daemon/x52d_main.c:377 #: daemon/x52d_main.c:378
msgid "Shutting down X52 daemon" msgid "Shutting down X52 daemon"
msgstr "Uttingshay ownday X52 aemonday" msgstr "Uttingshay ownday X52 aemonday"
@ -975,27 +980,31 @@ msgstr "Erroray indingbay otay otificationnay ocketsay: %s"
msgid "Error listening on notification socket: %s" msgid "Error listening on notification socket: %s"
msgstr "Erroray isteninglay onay otificationnay ocketsay: %s" msgstr "Erroray isteninglay onay otificationnay ocketsay: %s"
#: daemon/x52d_notify.c:89 daemon/x52d_notify.c:105 #: daemon/x52d_notify.c:73
msgid "Error setting up notification socket"
msgstr "Erroray ettingsay upay otificationnay ocketsay: %s"
#: daemon/x52d_notify.c:90 daemon/x52d_notify.c:106
#, c-format #, c-format
msgid "Error %d reading from pipe: %s" msgid "Error %d reading from pipe: %s"
msgstr "Erroray eadingray omfray ipepay %d: %s" msgstr "Erroray eadingray omfray ipepay %d: %s"
#: daemon/x52d_notify.c:147 #: daemon/x52d_notify.c:148
#, c-format #, c-format
msgid "Error %d writing notification pipe: %s" msgid "Error %d writing notification pipe: %s"
msgstr "Erroray %d itingwray otificationnay ipepay: %s" msgstr "Erroray %d itingwray otificationnay ipepay: %s"
#: daemon/x52d_notify.c:192 #: daemon/x52d_notify.c:193
#, c-format #, c-format
msgid "Error %d creating notification pipe: %s" msgid "Error %d creating notification pipe: %s"
msgstr "Erroray %d eatingcray otificationnay ipepay: %s" msgstr "Erroray %d eatingcray otificationnay ipepay: %s"
#: daemon/x52d_notify.c:201 #: daemon/x52d_notify.c:202
#, c-format #, c-format
msgid "Error %d initializing notify thread: %s" msgid "Error %d initializing notify thread: %s"
msgstr "Erroray %d initializingay otifynay eadthray: %s" msgstr "Erroray %d initializingay otifynay eadthray: %s"
#: daemon/x52d_notify.c:207 #: daemon/x52d_notify.c:208
#, c-format #, c-format
msgid "Error %d initializing notify listener: %s" msgid "Error %d initializing notify listener: %s"
msgstr "Erroray %d initializingay otifynay istenerlay: %s" msgstr "Erroray %d initializingay otifynay istenerlay: %s"