ovs-lib: Revert "Return the exit status of ovs-ctl in ovs_ctl()."
authorGurucharan Shetty <gshetty@nicira.com>
Fri, 4 Oct 2013 21:52:34 +0000 (14:52 -0700)
committerGurucharan Shetty <gshetty@nicira.com>
Fri, 4 Oct 2013 22:39:30 +0000 (15:39 -0700)
This reverts commit 0e37488562d1 which had a side-effect that
ssh executing start/restart command on a remote machine would
hang as one of the file descriptors created in that commit
was getting passed along to the daemons. The daemons weren't closing
it and hence ssh would just wait for them to close and hang.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
utilities/ovs-lib.in

index 0b6f42f..1684ddc 100644 (file)
@@ -41,11 +41,6 @@ ovs_ctl_log () {
     echo "$@" >> "${logdir}/ovs-ctl.log"
 }
 
-stdintoexitstatus () {
-    read exitstatus
-    return $exitstatus
-}
-
 ovs_ctl () {
     case "$@" in
         *"=strace"*)
@@ -55,14 +50,8 @@ ovs_ctl () {
             "${datadir}/scripts/ovs-ctl" "$@"
         ;;
         *)
-            # Tee ovs-ctl output to ovs-ctl.log and yield ovs-ctl's exit
-            # status. See (line wrapped)
-            # http://unix.stackexchange.com/questions/14270/\
-            # get-exit-status-of-process-thats-piped-to-another/70675#70675
             echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log"
-            ( ( ( ( ("${datadir}/scripts/ovs-ctl" "$@"  2>&1 ; echo $? >&3) \
-            | tee -a "${logdir}/ovs-ctl.log") >&4) 3>&1) | stdintoexitstatus) \
-            4>&1
+            "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log"
         ;;
     esac
 }