Move common socket code into x52d_comm_internal.c

fix-multiple-scroll-events
nirenjan 2023-01-04 08:42:47 -08:00
parent 03c0376e7c
commit ebca9566d7
6 changed files with 56 additions and 94 deletions

View File

@ -89,6 +89,22 @@ sock_failure:
return -1;
}
int x52d_listen_socket(struct sockaddr_un *local, int len, int sock_fd)
{
/* Cleanup any existing socket */
unlink(local->sun_path);
if (bind(sock_fd, (struct sockaddr *)local, (socklen_t)len) < 0) {
/* Failure binding socket */
return -1;
}
if (listen(sock_fd, X52D_MAX_CLIENTS) < 0) {
return -1;
}
return 0;
}
void x52d_split_args(int *argc, char **argv, char *buffer, int buflen)
{
int i = 0;

View File

@ -412,7 +412,6 @@ int x52d_command_init(const char *sock_path)
int sock_fd;
int len;
struct sockaddr_un local;
int flags;
x52d_client_init(client_fd);
@ -431,33 +430,17 @@ int x52d_command_init(const char *sock_path)
return -1;
}
/* Mark the socket as non-blocking */
flags = fcntl(sock_fd, F_GETFL);
if (flags < 0) {
PINELOG_ERROR(_("Error getting command socket flags: %s"), strerror(errno));
goto sock_failure;
}
if (fcntl(sock_fd, F_SETFL, flags | O_NONBLOCK) < 0) {
PINELOG_ERROR(_("Error setting command socket flags: %s"), strerror(errno));
goto sock_failure;
}
/* Cleanup any existing socket */
unlink(local.sun_path);
if (bind(sock_fd, (struct sockaddr *)&local, (socklen_t)len) < 0) {
/* Failure binding socket */
PINELOG_ERROR(_("Error binding to command socket: %s"), strerror(errno));
goto listen_failure;
}
if (listen(sock_fd, X52D_MAX_CLIENTS) < 0) {
PINELOG_ERROR(_("Error listening on command socket: %s"), strerror(errno));
goto listen_failure;
}
command_sock_fd = sock_fd;
if (command_sock_fd < 0) {
command_sock_fd = -1;
/* Mark the socket as non-blocking */
if (x52d_set_socket_nonblocking(sock_fd) < 0) {
PINELOG_ERROR(_("Error marking command socket as nonblocking: %s"),
strerror(errno));
goto sock_failure;
}
if (x52d_listen_socket(&local, len, sock_fd) < 0) {
PINELOG_ERROR(_("Error listening on command socket: %s"), strerror(errno));
goto listen_failure;
}

View File

@ -52,15 +52,7 @@ static int listen_notify(const char *notify_sock_path)
return -1;
}
/* Cleanup any existing socket */
unlink(local.sun_path);
if (bind(sock_fd, (struct sockaddr *)&local, (socklen_t)len) < 0) {
/* Failure binding socket */
PINELOG_ERROR(_("Error binding to notification socket: %s"), strerror(errno));
goto listen_failure;
}
if (listen(sock_fd, X52D_MAX_CLIENTS) < 0) {
if (x52d_listen_socket(&local, len, sock_fd) < 0) {
PINELOG_ERROR(_("Error listening on notification socket: %s"), strerror(errno));
goto listen_failure;
}

View File

@ -20,6 +20,7 @@ int x52d_setup_command_sock(const char *sock_path, struct sockaddr_un *remote);
const char *x52d_notify_sock_path(const char *sock_path);
int x52d_setup_notify_sock(const char *sock_path, struct sockaddr_un *remote);
int x52d_set_socket_nonblocking(int sock_fd);
int x52d_listen_socket(struct sockaddr_un *local, int len, int sock_fd);
void x52d_split_args(int *argc, char **argv, char *buffer, int buflen);
#endif // !defined X52DCOMM_INTERNAL_H

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libx52 0.3.0\n"
"Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n"
"POT-Creation-Date: 2022-12-25 22:03-0800\n"
"POT-Creation-Date: 2023-01-04 08:39-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -691,36 +691,26 @@ msgstr ""
msgid "Error %d during command loop: %s"
msgstr ""
#: daemon/x52d_command.c:430
#: daemon/x52d_command.c:429
#, c-format
msgid "Error creating command socket: %s"
msgstr ""
#: daemon/x52d_command.c:437
#, c-format
msgid "Error getting command socket flags: %s"
msgid "Error marking command socket as nonblocking: %s"
msgstr ""
#: daemon/x52d_command.c:441
#, c-format
msgid "Error setting command socket flags: %s"
msgstr ""
#: daemon/x52d_command.c:449
#, c-format
msgid "Error binding to command socket: %s"
msgstr ""
#: daemon/x52d_command.c:454
#: daemon/x52d_command.c:443
#, c-format
msgid "Error listening on command socket: %s"
msgstr ""
#: daemon/x52d_command.c:464
#: daemon/x52d_command.c:447
msgid "Starting command processing thread"
msgstr ""
#: daemon/x52d_command.c:482
#: daemon/x52d_command.c:465
msgid "Shutting down command processing thread"
msgstr ""
@ -917,41 +907,36 @@ msgstr ""
msgid "Error marking notification socket as nonblocking: %s"
msgstr ""
#: daemon/x52d_notify.c:59
#, c-format
msgid "Error binding to notification socket: %s"
msgstr ""
#: daemon/x52d_notify.c:64
#: daemon/x52d_notify.c:56
#, c-format
msgid "Error listening on notification socket: %s"
msgstr ""
#: daemon/x52d_notify.c:73
#: daemon/x52d_notify.c:65
msgid "Error setting up notification socket"
msgstr ""
#: daemon/x52d_notify.c:90 daemon/x52d_notify.c:106
#: daemon/x52d_notify.c:82 daemon/x52d_notify.c:98
#, c-format
msgid "Error %d reading from pipe: %s"
msgstr ""
#: daemon/x52d_notify.c:148
#: daemon/x52d_notify.c:140
#, c-format
msgid "Error %d writing notification pipe: %s"
msgstr ""
#: daemon/x52d_notify.c:193
#: daemon/x52d_notify.c:185
#, c-format
msgid "Error %d creating notification pipe: %s"
msgstr ""
#: daemon/x52d_notify.c:202
#: daemon/x52d_notify.c:194
#, c-format
msgid "Error %d initializing notify thread: %s"
msgstr ""
#: daemon/x52d_notify.c:208
#: daemon/x52d_notify.c:200
#, c-format
msgid "Error %d initializing notify listener: %s"
msgstr ""

View File

@ -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-12-25 22:03-0800\n"
"PO-Revision-Date: 2022-09-22 21:23-0700\n"
"POT-Creation-Date: 2023-01-04 08:39-0800\n"
"PO-Revision-Date: 2023-01-04 08:40-0800\n"
"Last-Translator: Nirenjan Krishnan <nirenjan@gmail.com>\n"
"Language-Team: Dummy Language for testing i18n\n"
"Language: xx_PL\n"
@ -744,36 +744,26 @@ msgstr ""
msgid "Error %d during command loop: %s"
msgstr "Erroray %d uringday ommandcay ooplay: %s"
#: daemon/x52d_command.c:430
#: daemon/x52d_command.c:429
#, c-format
msgid "Error creating command socket: %s"
msgstr "Erroray eatingcray ommandcay ocketsay: %s"
#: daemon/x52d_command.c:437
#, c-format
msgid "Error getting command socket flags: %s"
msgstr "Erroray ettinggay ommandcay ocketsay agsflay: %s"
msgid "Error marking command socket as nonblocking: %s"
msgstr "Erroray arkingmay ommandcay ocketsay asay onblockingnay: %s"
#: daemon/x52d_command.c:441
#, c-format
msgid "Error setting command socket flags: %s"
msgstr "Erroray ettingsay ommandcay ocketsay agsflay: %s"
#: daemon/x52d_command.c:449
#, c-format
msgid "Error binding to command socket: %s"
msgstr "Erroray indingbay otay ommandcay ocketsay: %s"
#: daemon/x52d_command.c:454
#: daemon/x52d_command.c:443
#, c-format
msgid "Error listening on command socket: %s"
msgstr "Erroray isteninglay onay ommandcay ocketsay: %s"
#: daemon/x52d_command.c:464
#: daemon/x52d_command.c:447
msgid "Starting command processing thread"
msgstr "Artingstay ommandcay ocessingpray eadthray"
#: daemon/x52d_command.c:482
#: daemon/x52d_command.c:465
msgid "Shutting down command processing thread"
msgstr "Uttingshay ownday ommandcay ocessingpray eadthray"
@ -970,41 +960,36 @@ msgstr "Erroray eatingcray otificationnay ocketsay: %s"
msgid "Error marking notification socket as nonblocking: %s"
msgstr "Erroray arkingmay otificationnay ocketsay asay onblockingnay: %s"
#: daemon/x52d_notify.c:59
#, c-format
msgid "Error binding to notification socket: %s"
msgstr "Erroray indingbay otay otificationnay ocketsay: %s"
#: daemon/x52d_notify.c:64
#: daemon/x52d_notify.c:56
#, c-format
msgid "Error listening on notification socket: %s"
msgstr "Erroray isteninglay onay otificationnay ocketsay: %s"
#: daemon/x52d_notify.c:73
#: daemon/x52d_notify.c:65
msgid "Error setting up notification socket"
msgstr "Erroray ettingsay upay otificationnay ocketsay: %s"
#: daemon/x52d_notify.c:90 daemon/x52d_notify.c:106
#: daemon/x52d_notify.c:82 daemon/x52d_notify.c:98
#, c-format
msgid "Error %d reading from pipe: %s"
msgstr "Erroray eadingray omfray ipepay %d: %s"
#: daemon/x52d_notify.c:148
#: daemon/x52d_notify.c:140
#, c-format
msgid "Error %d writing notification pipe: %s"
msgstr "Erroray %d itingwray otificationnay ipepay: %s"
#: daemon/x52d_notify.c:193
#: daemon/x52d_notify.c:185
#, c-format
msgid "Error %d creating notification pipe: %s"
msgstr "Erroray %d eatingcray otificationnay ipepay: %s"
#: daemon/x52d_notify.c:202
#: daemon/x52d_notify.c:194
#, c-format
msgid "Error %d initializing notify thread: %s"
msgstr "Erroray %d initializingay otifynay eadthray: %s"
#: daemon/x52d_notify.c:208
#: daemon/x52d_notify.c:200
#, c-format
msgid "Error %d initializing notify listener: %s"
msgstr "Erroray %d initializingay otifynay istenerlay: %s"