X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fdaemon.c;h=64e2f9e9ab769229719f82057c84299952ef9e56;hb=a328a943f173391cd9a9a54e257c8dabcd463402;hp=cb440d16804fadb3ae6b657612c51cf37e5e091f;hpb=c84933bf9a73e334207b6b309749d9e9c3b04812;p=sliver-openvswitch.git diff --git a/lib/daemon.c b/lib/daemon.c index cb440d168..64e2f9e9a 100644 --- a/lib/daemon.c +++ b/lib/daemon.c @@ -239,9 +239,7 @@ fork_and_wait_for_startup(int *fdp) int fds[2]; pid_t pid; - if (pipe(fds) < 0) { - ovs_fatal(errno, "pipe failed"); - } + xpipe(fds); pid = fork(); if (pid > 0) { @@ -266,7 +264,8 @@ fork_and_wait_for_startup(int *fdp) exit(WEXITSTATUS(status)); } - ovs_fatal(errno, "fork child failed to signal startup"); + VLOG_FATAL("fork child failed to signal startup (%s)", + strerror(errno)); } close(fds[0]); *fdp = -1; @@ -277,7 +276,7 @@ fork_and_wait_for_startup(int *fdp) lockfile_postfork(); *fdp = fds[1]; } else { - ovs_fatal(errno, "could not fork"); + VLOG_FATAL("fork failed (%s)", strerror(errno)); } return pid; @@ -292,7 +291,7 @@ fork_notify_startup(int fd) error = write_fully(fd, "", 1, &bytes_written); if (error) { - ovs_fatal(error, "could not write to pipe"); + VLOG_FATAL("pipe write failed (%s)", strerror(error)); } close(fd); @@ -346,7 +345,7 @@ monitor_daemon(pid_t daemon_pid) } while (retval == -1 && errno == EINTR); if (retval == -1) { - ovs_fatal(errno, "waitpid failed"); + VLOG_FATAL("waitpid failed (%s)", strerror(errno)); } else if (retval == daemon_pid) { char *s = process_status_msg(status); if (should_restart(status)) {