#include <stdlib.h>
#include <unistd.h>
#include "command-line.h"
+#include "fatal-signal.h"
#include "ofp-msgs.h"
#include "ofp-util.h"
#include "ofpbuf.h"
check_errno(int a, int b, const char *as, const char *file, int line)
{
if (a != b) {
- char *str_b = strdup(strerror(abs(b)));
+ char *str_b = strdup(ovs_strerror(abs(b)));
ovs_fatal(0, "%s:%d: %s is %d (%s) but should be %d (%s)",
- file, line, as, a, strerror(abs(a)), b, str_b);
+ file, line, as, a, ovs_strerror(abs(a)), b, str_b);
}
}
if (!strcmp(type, "tcp")) {
if (error != ECONNRESET && error != EPIPE) {
ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)",
- error, strerror(error));
+ error, ovs_strerror(error));
}
} else if (!strcmp(type, "unix")) {
CHECK_ERRNO(error, EPIPE);
} else if (!strcmp(type, "ssl")) {
if (error != EPROTO && error != ECONNRESET) {
ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)",
- error, strerror(error));
+ error, ovs_strerror(error));
}
} else {
ovs_fatal(0, "invalid connection type %s", type);
if (!strcmp(type, "tcp") || !strcmp(type, "unix")) {
if (error != ECONNRESET && error != EPIPE) {
ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)",
- error, strerror(error));
+ error, ovs_strerror(error));
}
} else {
CHECK_ERRNO(error, EPROTO);
error = vconn_connect_block(vconn);
if (error != ECONNRESET && error != EPIPE) {
ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)",
- error, strerror(error));
+ error, ovs_strerror(error));
}
vconn_close(vconn);
}
set_program_name(argv[0]);
vlog_set_levels(NULL, VLF_ANY_FACILITY, VLL_EMER);
vlog_set_levels(NULL, VLF_CONSOLE, VLL_DBG);
- signal(SIGPIPE, SIG_IGN);
+ fatal_ignore_sigpipe();
time_alarm(10);