return retval;
}
-static void signal_process(pid_t pid)
+static int signal_process(pid_t pid)
{
int result;
result = kill(pid, UST_SIGNAL);
if(result == -1) {
PERROR("kill");
- return;
+ return -1;
}
- sleep(1);
+ /* FIXME: should wait in a better way */
+ //sleep(1);
+
+ return 0;
}
static int send_message_fd(int fd, const char *msg)
return -1;
}
- if(signalpid >= 0)
- signal_process(signalpid);
+ if(signalpid >= 0) {
+ result = signal_process(signalpid);
+ if(result == -1) {
+ ERR("could not signal process");
+ return -1;
+ }
+ }
result = connect(fd, (struct sockaddr *)&addr, sizeof(addr));
if(result == -1) {
PERROR("send");
return -1;
}
- else if(result == 0) {
- return 0;
- }
if(!reply)
return 1;
return -1;
}
- if(signalpid >= 0)
- signal_process(signalpid);
+ if(signalpid >= 0) {
+ result = signal_process(signalpid);
+ if(result == -1) {
+ ERR("could not signal process");
+ return -1;
+ }
+ }
result = connect(fd, (struct sockaddr *)&addr, sizeof(addr));
if(result == -1) {
handle->server.listen_fd = init_named_socket(name, &handle->server.socketpath);
if(handle->server.listen_fd < 0) {
- ERR("error initializing named socket");
+ ERR("error initializing named socket at %s", name);
goto free_name;
}
free(name);