X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-appctl.c;h=a6fbebd0ec03f826e07637deaf4268e13d0810f3;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hp=ddeeb1dfabd389ee24cc6dd5ce34f8819a59e8d5;hpb=e0edde6fee279cdbbf3c179f5f50adaf0c7c7f1e;p=sliver-openvswitch.git diff --git a/utilities/ovs-appctl.c b/utilities/ovs-appctl.c index ddeeb1dfa..a6fbebd0e 100644 --- a/utilities/ovs-appctl.c +++ b/utilities/ovs-appctl.c @@ -63,13 +63,14 @@ main(int argc, char *argv[]) } if (cmd_error) { + jsonrpc_close(client); fputs(cmd_error, stderr); ovs_error(0, "%s: server returned an error", target); exit(2); } else if (cmd_result) { fputs(cmd_result, stdout); } else { - NOT_REACHED(); + OVS_NOT_REACHED(); } jsonrpc_close(client); @@ -161,7 +162,7 @@ parse_command_line(int argc, char *argv[]) exit(EXIT_FAILURE); default: - NOT_REACHED(); + OVS_NOT_REACHED(); } } @@ -180,6 +181,7 @@ connect_to_target(const char *target) char *socket_name; int error; +#ifndef _WIN32 if (target[0] != '/') { char *pidfile_name; pid_t pid; @@ -192,6 +194,12 @@ connect_to_target(const char *target) free(pidfile_name); socket_name = xasprintf("%s/%s.%ld.ctl", ovs_rundir(), target, (long int) pid); +#else + /* On windows, if the 'target' contains ':', we make an assumption that + * it is an absolute path. */ + if (!strchr(target, ':')) { + socket_name = xasprintf("%s/%s.ctl", ovs_rundir(), target); +#endif } else { socket_name = xstrdup(target); }