Fix irqbalance ui failing to connect to irqbalance daemon

irqbalance ui is faling due to the changes in commit 19c25dd.
This patch align irqbalance-ui's socket connecting routine with
irqbalance.c
This commit is contained in:
Kairui Song 2018-09-03 00:30:14 +08:00
parent 6359f446ad
commit ce806df008
2 changed files with 12 additions and 5 deletions

View file

@ -57,12 +57,18 @@ int init_connection()
}
addr.sun_family = AF_UNIX;
char socket_name[64];
snprintf(socket_name, 64, "%s%d.sock", SOCKET_PATH, irqbalance_pid);
strncpy(addr.sun_path, socket_name, strlen(addr.sun_path));
if(connect(socket_fd, (struct sockaddr *)&addr,
sizeof(sa_family_t) + strlen(socket_name) + 1) < 0) {
return 0;
snprintf(socket_name, 64, "%s/%s%d.sock", SOCKET_TMPFS, SOCKET_PATH, irqbalance_pid);
strncpy(addr.sun_path, socket_name, strlen(socket_name));
if(connect(socket_fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
/* Try connect to abstract */
memset(&addr, 0, sizeof(struct sockaddr_un));
addr.sun_family = AF_UNIX;
if (connect(socket_fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
return 0;
}
}
return socket_fd;

View file

@ -8,6 +8,7 @@
#include <glib-unix.h>
#define SOCKET_PATH "irqbalance"
#define SOCKET_TMPFS "/var/run"
#define STATS "stats"
#define SET_SLEEP "settings sleep "