X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utilities%2Fovs-discover.c;h=dbdd741a6650bfc5c380b74538965c170ccbef69;hb=e328faadc42cb835b1adf1ef4d77a42c76b52f3f;hp=8c83cac9ef223efc779675859e322522b09c114d;hpb=3b01baa3970139c3a195017ab1ea3e42761e3db2;p=openvswitch diff --git a/utilities/ovs-discover.c b/utilities/ovs-discover.c index 8c83cac9..dbdd741a 100644 --- a/utilities/ovs-discover.c +++ b/utilities/ovs-discover.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009 Nicira Networks. + * Copyright (c) 2008, 2009, 2010 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -75,6 +75,7 @@ main(int argc, char *argv[]) int retval; int i; + proctitle_init(argc, argv); set_program_name(argv[0]); time_init(); vlog_init(); @@ -102,7 +103,7 @@ main(int argc, char *argv[]) struct iface *iface = &ifaces[i]; dhclient_init(iface->dhcp, 0); } - fatal_signal_add_hook(release_ifaces, NULL, true); + fatal_signal_add_hook(release_ifaces, NULL, NULL, true); retval = regcomp(&accept_controller_regex, accept_controller_re, REG_NOSUB | REG_EXTENDED); @@ -115,14 +116,13 @@ main(int argc, char *argv[]) retval = unixctl_server_create(NULL, &unixctl); if (retval) { - ovs_fatal(retval, "Could not listen for unixctl connections"); + exit(EXIT_FAILURE); } die_if_already_running(); signal(SIGPIPE, SIG_IGN); for (;;) { - fatal_signal_block(); for (i = 0; i < n_ifaces; i++) { struct iface *iface = &ifaces[i]; dhclient_run(iface->dhcp); @@ -195,7 +195,6 @@ main(int argc, char *argv[]) dhclient_wait(iface->dhcp); } unixctl_server_wait(unixctl); - fatal_signal_unblock(); poll_block(); } @@ -215,7 +214,7 @@ iface_init(struct iface *iface, const char *netdev_name) * persists past program termination. */ struct netdev *netdev; - retval = netdev_open(iface->name, NETDEV_ETH_TYPE_NONE, &netdev); + retval = netdev_open_default(iface->name, &netdev); if (retval) { ovs_error(retval, "Could not open %s device", iface->name); return false; @@ -282,7 +281,7 @@ parse_options(int argc, char *argv[]) OPT_ACCEPT_VCONN = UCHAR_MAX + 1, OPT_EXIT_WITHOUT_BIND, OPT_EXIT_AFTER_BIND, - OPT_NO_DETACH, + OPT_NO_DETACH }; static struct option long_options[] = { {"accept-vconn", required_argument, 0, OPT_ACCEPT_VCONN}, @@ -290,8 +289,8 @@ parse_options(int argc, char *argv[]) {"exit-after-bind", no_argument, 0, OPT_EXIT_AFTER_BIND}, {"no-detach", no_argument, 0, OPT_NO_DETACH}, {"timeout", required_argument, 0, 't'}, - {"pidfile", optional_argument, 0, 'P'}, - {"force", no_argument, 0, 'f'}, + {"pidfile", optional_argument, 0, OPT_PIDFILE}, + {"overwrite-pidfile", no_argument, 0, OPT_OVERWRITE_PIDFILE}, {"verbose", optional_argument, 0, 'v'}, {"help", no_argument, 0, 'h'}, {"version", no_argument, 0, 'V'}, @@ -328,11 +327,11 @@ parse_options(int argc, char *argv[]) detach_after_bind = false; break; - case 'P': + case OPT_PIDFILE: set_pidfile(optarg); break; - case 'f': + case OPT_OVERWRITE_PIDFILE: ignore_existing_pidfile(); break; @@ -396,8 +395,9 @@ usage(void) vlog_usage(); printf("\nOther options:\n" " -t, --timeout=SECS give up discovery after SECS seconds\n" - " -P, --pidfile[=FILE] create pidfile (default: %s/%s.pid)\n" - " -f, --force with -P, start even if already running\n" + " --pidfile[=FILE] create pidfile (default: %s/%s.pid)\n" + " --overwrite-pidfile with --pidfile, start even if already " + "running\n" " -h, --help display this help message\n" " -V, --version display version information\n", ovs_rundir, program_name);