#include "dynamic-string.h"
#include "fatal-signal.h"
#include "list.h"
+#include "ovs-thread.h"
#include "poll-loop.h"
#include "signals.h"
#include "socket-util.h"
static bool inited;
struct sigaction sa;
+ assert_single_threaded();
if (inited) {
return;
}
pid_t pid;
int error;
+ assert_single_threaded();
+
*pp = NULL;
COVERAGE_INC(process_start);
error = process_prestart(argv);
pid = fork();
if (pid < 0) {
- VLOG_WARN("fork failed: %s", strerror(errno));
+ VLOG_WARN("fork failed: %s", ovs_strerror(errno));
return errno;
} else if (pid) {
/* Running in parent process. */
}
execvp(argv[0], argv);
fprintf(stderr, "execvp(\"%s\") failed: %s\n",
- argv[0], strerror(errno));
+ argv[0], ovs_strerror(errno));
_exit(1);
}
}
p->exited = true;
p->status = status;
} else if (retval < 0) {
- VLOG_WARN("waitpid: %s", strerror(errno));
+ VLOG_WARN("waitpid: %s", ovs_strerror(errno));
p->exited = true;
p->status = -1;
}