Looks Good assuming it make distchecks. On Wed, Feb 23, 2011 at 1:24 PM, Ben Pfaff <b...@nicira.com> wrote: > This utility isn't used anywhere (except INSTALL.Linux), so remove it. > > Signed-off-by: Ben Pfaff <b...@nicira.com> > Coverity #10708. > --- > INSTALL.Linux | 2 +- > debian/openvswitch-switch.install | 1 - > debian/openvswitch-switch.manpages | 1 - > utilities/.gitignore | 2 - > utilities/automake.mk | 7 -- > utilities/ovs-kill.8.in | 60 ---------- > utilities/ovs-kill.c | 208 > ------------------------------------ > xenserver/openvswitch-xen.spec | 2 - > 8 files changed, 1 insertions(+), 282 deletions(-) > delete mode 100644 utilities/ovs-kill.8.in > delete mode 100644 utilities/ovs-kill.c > > diff --git a/INSTALL.Linux b/INSTALL.Linux > index 103805a..c46ab55 100644 > --- a/INSTALL.Linux > +++ b/INSTALL.Linux > @@ -292,7 +292,7 @@ also upgrade the database schema: > > 1. Stop the Open vSwitch daemons, e.g.: > > - % ovs-kill ovsdb-server.pid ovs-vswitchd.pid > + % kill `cd /usr/local/var/run && cat ovsdb-server.pid ovs-vswitchd.pid` > > 2. Install the new Open vSwitch release. > > diff --git a/debian/openvswitch-switch.install > b/debian/openvswitch-switch.install > index c38cdd4..829d5c6 100644 > --- a/debian/openvswitch-switch.install > +++ b/debian/openvswitch-switch.install > @@ -1,7 +1,6 @@ > _debian/ovsdb/ovsdb-server usr/bin > _debian/utilities/ovs-discover usr/sbin > _debian/utilities/ovs-dpctl usr/sbin > -_debian/utilities/ovs-kill usr/sbin > _debian/utilities/ovs-vsctl usr/sbin > _debian/utilities/ovs-pcap usr/bin > _debian/utilities/ovs-tcpundump usr/bin > diff --git a/debian/openvswitch-switch.manpages > b/debian/openvswitch-switch.manpages > index 267b152..399cdda 100644 > --- a/debian/openvswitch-switch.manpages > +++ b/debian/openvswitch-switch.manpages > @@ -1,7 +1,6 @@ > _debian/ovsdb/ovsdb-server.1 > _debian/utilities/ovs-discover.8 > _debian/utilities/ovs-dpctl.8 > -_debian/utilities/ovs-kill.8 > _debian/utilities/ovs-pcap.1 > _debian/utilities/ovs-tcpundump.1 > _debian/utilities/ovs-vlan-test.8 > diff --git a/utilities/.gitignore b/utilities/.gitignore > index 739dcef..56b3e73 100644 > --- a/utilities/.gitignore > +++ b/utilities/.gitignore > @@ -11,8 +11,6 @@ > /ovs-discover.8 > /ovs-dpctl > /ovs-dpctl.8 > -/ovs-kill > -/ovs-kill.8 > /ovs-ofctl > /ovs-ofctl.8 > /ovs-openflowd > diff --git a/utilities/automake.mk b/utilities/automake.mk > index 36b2b91..984b47a 100644 > --- a/utilities/automake.mk > +++ b/utilities/automake.mk > @@ -3,7 +3,6 @@ bin_PROGRAMS += \ > utilities/ovs-controller \ > utilities/ovs-discover \ > utilities/ovs-dpctl \ > - utilities/ovs-kill \ > utilities/ovs-ofctl \ > utilities/ovs-openflowd \ > utilities/ovs-vsctl > @@ -21,7 +20,6 @@ EXTRA_DIST += \ > utilities/ovs-controller.8.in \ > utilities/ovs-discover.8.in \ > utilities/ovs-dpctl.8.in \ > - utilities/ovs-kill.8.in \ > utilities/ovs-ofctl.8.in \ > utilities/ovs-openflowd.8.in \ > utilities/ovs-parse-leaks.8 \ > @@ -42,7 +40,6 @@ DISTCLEANFILES += \ > utilities/ovs-controller.8 \ > utilities/ovs-discover.8 \ > utilities/ovs-dpctl.8 \ > - utilities/ovs-kill.8 \ > utilities/ovs-ofctl.8 \ > utilities/ovs-openflowd.8 \ > utilities/ovs-parse-leaks \ > @@ -62,7 +59,6 @@ man_MANS += \ > utilities/ovs-controller.8 \ > utilities/ovs-discover.8 \ > utilities/ovs-dpctl.8 \ > - utilities/ovs-kill.8 \ > utilities/ovs-ofctl.8 \ > utilities/ovs-openflowd.8 \ > utilities/ovs-parse-leaks.8 \ > @@ -84,9 +80,6 @@ utilities_ovs_discover_LDADD = lib/libopenvswitch.a > utilities_ovs_dpctl_SOURCES = utilities/ovs-dpctl.c > utilities_ovs_dpctl_LDADD = lib/libopenvswitch.a > > -utilities_ovs_kill_SOURCES = utilities/ovs-kill.c > -utilities_ovs_kill_LDADD = lib/libopenvswitch.a > - > utilities_ovs_ofctl_SOURCES = utilities/ovs-ofctl.c > utilities_ovs_ofctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS) > > diff --git a/utilities/ovs-kill.8.in b/utilities/ovs-kill.8.in > deleted file mode 100644 > index e8fef36..0000000 > --- a/utilities/ovs-kill.8.in > +++ /dev/null > @@ -1,60 +0,0 @@ > -.TH ovs\-kill 8 "May 2008" "Open vSwitch" "Open vSwitch Manual" > -.ds PN ovs\-kill > - > -.SH NAME > -ovs\-kill \- kills processes given their pidfiles > - > -.SH SYNOPSIS > -.B ovs\-kill > -[\fIoptions\fR] \fIpidfile\fR [\fIpidfile\fR...] > - > -.SH DESCRIPTION > -The \fBovs\-kill\fR program reads each \fIpidfile\fR specified on the > -command line and sends a signal to the program associated with it, if > -any. It reads one line of text from \fIpidfile\fR, which must contain > -the PID of the process to kill as a text string. It then uses > -\fBfcntl\fR(2) to verify that a process with the PID from the file > -owns a lock on \fIpidfile\fR before it sends the signal. > - > -A \fIpidfile\fR whose name begins with \fB/\fR is used literally. > -Otherwise, \fB@RUNDIR@/\fR is prefixed. > - > -This program exists for use by \fBovs\-switch\-setup\fR, which cannot > -easily implement its functionality since Perl has no portable > -interface to \fBfcntl\fR-based file locking. > - > -.SH OPTIONS > -.TP > -\fB\-s \fInumber\fR|\fIname\fR, \fB\-\^\-signal=\fInumber\fR|\fIname\fR > -Sets the signal to be sent to each process. Signals may be given by > -number (e.g. \fB1\fR) or by name (e.g. \fBHUP\fR or \fBSIGHUP\fR). > -By default, \fBSIGTERM\fR is sent. > - > -.TP > -\fB\-f\fR, \fB\-\^\-force\fR > -Causes \fBovs\-kill\fR to ignore all errors without printing a message > -to \fBstderr\fR, and to exit with return code 0. > - > -.so lib/common.man > - > -.SH "EXIT CODE" > - > -Without \fB\-f\fR or \fB\-\^\-force\fR, \fBovs\-kill\fR exits with > -status 0 if at least one \fIpidfile\fR was given and the process > -represented by every \fIpidfile\fR was signaled successfully, > -otherwise with status 1. > - > -With \fB\-f\fR or \fB\-\^\-force\fR, \fBovs\-kill\fR always exits with > -status 0. > - > -.SH BUGS > - > -There is a race between verifying the lock on \fIpidfile\fR and > -actually killing the process. > - > -\fBovs\-kill\fR does not wait for the signaled processes to die before > -exiting. > - > -.SH "SEE ALSO" > - > -.BR ovs\-switch\-setup (8) > diff --git a/utilities/ovs-kill.c b/utilities/ovs-kill.c > deleted file mode 100644 > index f230962..0000000 > --- a/utilities/ovs-kill.c > +++ /dev/null > @@ -1,208 +0,0 @@ > -/* > - * 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. > - * You may obtain a copy of the License at: > - * > - * http://www.apache.org/licenses/LICENSE-2.0 > - * > - * Unless required by applicable law or agreed to in writing, software > - * distributed under the License is distributed on an "AS IS" BASIS, > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > - * See the License for the specific language governing permissions and > - * limitations under the License. > - */ > - > -#include <config.h> > -#include <errno.h> > -#include <fcntl.h> > -#include <getopt.h> > -#include <signal.h> > -#include <stdarg.h> > -#include <stdlib.h> > -#include <string.h> > -#include "command-line.h" > -#include "daemon.h" > -#include "timeval.h" > -#include "util.h" > -#include "vlog.h" > - > -/* -s, --signal: signal to send. */ > -static int sig_nr = SIGTERM; > - > -/* -f, --force: ignore errors. */ > -static bool force; > - > -static void cond_error(int err_no, const char *, ...) PRINTF_FORMAT(2, 3); > - > -static void parse_options(int argc, char *argv[]); > -static void usage(void); > - > -int > -main(int argc, char *argv[]) > -{ > - bool ok = true; > - int i; > - > - set_program_name(argv[0]); > - parse_options(argc, argv); > - > - argc -= optind; > - argv += optind; > - if (argc < 1) { > - if (!force) { > - ovs_fatal(0, "need at least one non-option argument; " > - "use --help for usage"); > - } > - } > - > - for (i = 0; i < argc; i++) { > - char *pidfile; > - pid_t pid; > - > - pidfile = make_pidfile_name(argv[i]); > - pid = read_pidfile(pidfile); > - if (pid >= 0) { > - if (kill(pid, sig_nr) < 0) { > - cond_error(errno, "%s: kill(%ld)", pidfile, (long int) pid); > - } > - } else { > - cond_error(-pid, "could not read %s", pidfile); > - } > - free(pidfile); > - } > - > - return ok || force ? EXIT_SUCCESS : EXIT_FAILURE; > -} > - > -static void > -parse_options(int argc, char *argv[]) > -{ > - static struct option long_options[] = { > - {"signal", required_argument, 0, 's'}, > - {"force", no_argument, 0, 'f'}, > - {"help", no_argument, 0, 'h'}, > - {"version", no_argument, 0, 'V'}, > - {0, 0, 0, 0}, > - }; > - char *short_options = long_options_to_short_options(long_options); > - > - for (;;) { > - int c; > - > - c = getopt_long(argc, argv, short_options, long_options, NULL); > - if (c == -1) { > - break; > - } > - > - switch (c) { > - case 's': > - if (atoi(optarg) || !strcmp(optarg, "0")) { > - sig_nr = atoi(optarg); > - } else { > - struct signal_name { > - const char *name; > - int number; > - }; > - > - static const struct signal_name signals[] = { > -#define SIGNAL(NAME) { #NAME, NAME } > - SIGNAL(SIGABRT), > - SIGNAL(SIGALRM), > - SIGNAL(SIGBUS), > - SIGNAL(SIGCHLD), > - SIGNAL(SIGCONT), > - SIGNAL(SIGFPE), > - SIGNAL(SIGHUP), > - SIGNAL(SIGILL), > - SIGNAL(SIGINT), > - SIGNAL(SIGKILL), > - SIGNAL(SIGPIPE), > - SIGNAL(SIGQUIT), > - SIGNAL(SIGSEGV), > - SIGNAL(SIGSTOP), > - SIGNAL(SIGTERM), > - SIGNAL(SIGTSTP), > - SIGNAL(SIGTTIN), > - SIGNAL(SIGTTOU), > - SIGNAL(SIGUSR1), > - SIGNAL(SIGUSR2), > -#ifdef SIGPOLL > - SIGNAL(SIGPOLL), > -#endif > - SIGNAL(SIGPROF), > - SIGNAL(SIGSYS), > - SIGNAL(SIGTRAP), > - SIGNAL(SIGURG), > - SIGNAL(SIGVTALRM), > - SIGNAL(SIGXCPU), > - SIGNAL(SIGXFSZ), > -#undef SIGNAL > - }; > - int i; > - > - for (i = 0; i < ARRAY_SIZE(signals); i++) { > - const struct signal_name *s = &signals[i]; > - if (!strcmp(optarg, s->name) > - || !strcmp(optarg, s->name + 3)) { > - sig_nr = s->number; > - goto got_name; > - } > - } > - ovs_fatal(0, "unknown signal \"%s\"", optarg); > - got_name: ; > - } > - break; > - > - case 'f': > - force = true; > - break; > - > - case 'h': > - usage(); > - > - case 'V': > - OVS_PRINT_VERSION(0, 0); > - exit(EXIT_SUCCESS); > - > - case '?': > - exit(EXIT_FAILURE); > - > - default: > - abort(); > - } > - } > - free(short_options); > -} > - > -static void > -usage(void) > -{ > - printf("%s: kills a program using a pidfile\n" > - "usage: %s [OPTIONS] PIDFILE [PIDFILE...]\n" > - "where PIDFILE is a pidfile created by an Open vSwitch daemon.\n" > - "\nOptions:\n" > - " -s, --signal=NUMBER|NAME signal to send (default: TERM)\n" > - " -f, --force ignore errors\n" > - " -h, --help display this help message\n" > - " -V, --version display version information\n", > - program_name, program_name); > - exit(EXIT_SUCCESS); > -} > - > -static void > -cond_error(int err_no, const char *format, ...) > -{ > - if (!force) { > - va_list args; > - > - fprintf(stderr, "%s: ", program_name); > - va_start(args, format); > - vfprintf(stderr, format, args); > - va_end(args); > - if (err_no != 0) > - fprintf(stderr, " (%s)", strerror(err_no)); > - putc('\n', stderr); > - } > -} > diff --git a/xenserver/openvswitch-xen.spec b/xenserver/openvswitch-xen.spec > index 05229de..ab2134e 100644 > --- a/xenserver/openvswitch-xen.spec > +++ b/xenserver/openvswitch-xen.spec > @@ -117,12 +117,10 @@ install xenserver/uuid.py > $RPM_BUILD_ROOT/usr/share/openvswitch/python > rm \ > $RPM_BUILD_ROOT/usr/bin/ovs-controller \ > $RPM_BUILD_ROOT/usr/bin/ovs-discover \ > - $RPM_BUILD_ROOT/usr/bin/ovs-kill \ > $RPM_BUILD_ROOT/usr/bin/ovs-openflowd \ > $RPM_BUILD_ROOT/usr/bin/ovs-pki \ > $RPM_BUILD_ROOT/usr/share/man/man8/ovs-controller.8 \ > $RPM_BUILD_ROOT/usr/share/man/man8/ovs-discover.8 \ > - $RPM_BUILD_ROOT/usr/share/man/man8/ovs-kill.8 \ > $RPM_BUILD_ROOT/usr/share/man/man8/ovs-openflowd.8 \ > $RPM_BUILD_ROOT/usr/share/man/man8/ovs-pki.8 > > -- > 1.7.2.3 > > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev_openvswitch.org >
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev_openvswitch.org