On Tue, Dec 15, 2015 at 04:37:34PM +0300, Ilya Maximets wrote: > While killing OVS may not free all allocated resources. > > Eample: > Socket for vhost-user port will stay in a system > after 'systemctl stop openvswitch' and opening > that port after restart will fail. > > Signed-off-by: Ilya Maximets <i.maxim...@samsung.com> > --- > utilities/ovs-lib.in | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in > index dd8a1e9..8b371dd 100644 > --- a/utilities/ovs-lib.in > +++ b/utilities/ovs-lib.in > @@ -202,11 +202,14 @@ start_daemon () { > stop_daemon () { > if test -e "$rundir/$1.pid"; then > if pid=`cat "$rundir/$1.pid"`; then > - for action in TERM .1 .25 .65 1 1 1 1 KILL 1 1 1 2 10 15 30 > FAIL; do > + for action in EXIT 2 TERM .1 .25 .65 1 1 1 1 KILL 1 1 1 2 10 15 > 30 FAIL; do > if pid_exists "$pid" >/dev/null 2>&1; then :; else > return 0 > fi > case $action in > + EXIT) > + action "Exiting $1 ($pid)" ${bindir}/ovs-appctl -t > $1 exit
Probably should specify "-T 1" to make sure that ovs-appctl doesn't hang forever if the daemon is buggy. Might want to specify "-t $rundir/$1.pid" instead of "-t $1" so that the process we kill is certain to be the one in the right pidfile (in case of some weird configuration mismatch). _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev