ovs-ctl: Exit, instead of resuming, after handling fatal signals.
authorBen Pfaff <blp@nicira.com>
Wed, 26 Dec 2012 20:45:34 +0000 (12:45 -0800)
committerBen Pfaff <blp@nicira.com>
Wed, 26 Dec 2012 20:47:56 +0000 (12:47 -0800)
When I wrote the "trap" calls in ovs-ctl, I had the mistaken notion that
"trap $cmd $signal" would execute $cmd and then exit when $signal was
caught.  This is incorrect.  Instead, it executes $cmd and then resumes
executing the shell script.

On the other hand, "trap $cmd 0" does by itself what I wanted: it causes
the shell to execute $cmd and then exits due to the signal.  So this commit
changes the offending traps to use this form.

Bug #14290.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
utilities/ovs-ctl.in

index 1cdfb76..853c8e2 100755 (executable)
@@ -337,7 +337,7 @@ force_reload_kmod () {
     script_datapaths=`mktemp`
     script_flows=`mktemp`
     trap 'rm -f "${script_interfaces}" "${script_flows}" \
-        "${script_datapaths}"' 0 1 2 13 15
+        "${script_datapaths}"' 0
 
     action "Saving flows" save_flows
 
@@ -406,7 +406,7 @@ force_reload_kmod () {
 
 restart () {
     script_flows=`mktemp`
-    trap 'rm -f "${script_flows}"' 0 1 2 13 15
+    trap 'rm -f "${script_flows}"' 0
 
     action "Saving flows" save_flows