[ovs-dev] [PATCH v2 RFC] ovs-lib: try to call exit before killing

Ilya Maximets i.maximets at samsung.com
Wed Dec 16 06:50:56 UTC 2015


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.maximets at samsung.com>
---

version 2:
	* added '-T 1'
	* '-t $1' --> '-t $rundir/$1.$pid.ctl'

 utilities/ovs-lib.in | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
index dd8a1e9..ace3e0d 100644
--- a/utilities/ovs-lib.in
+++ b/utilities/ovs-lib.in
@@ -202,11 +202,15 @@ 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 -t $rundir/$1.$pid.ctl exit
+                        ;;
                     TERM)
                         action "Killing $1 ($pid)" kill $pid
                         ;;
-- 
2.1.4




More information about the dev mailing list