diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-10-29 14:04:45 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-10-29 14:04:45 +0000 |
commit | dde521066b79252110b5051b86b502003752fffa (patch) | |
tree | ee183ba5961ce810376f38ef238c420690c55b02 /stubdom | |
parent | dd11df9b815419c73c2845df5e4f8433cb43d665 (diff) | |
download | xen-dde521066b79252110b5051b86b502003752fffa.tar.gz xen-dde521066b79252110b5051b86b502003752fffa.tar.bz2 xen-dde521066b79252110b5051b86b502003752fffa.zip |
stubdom: make stubdom-dm exit properly
The built-in bash command wait should be able to take a pid argument
and just wait for the specified process to die, but it currently has a
bug and what actually does is waiting for the death of all the
children. For this reason the stubdom-dm script doesn't exit properly
after stubdom destruction. This patch solves the issue spawning only
one child, removing the sleep subprocess workaround that was used to
create a usable stdin for "xm console" and replacing it with a fifo.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Diffstat (limited to 'stubdom')
-rw-r--r-- | stubdom/stubdom-dm | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/stubdom/stubdom-dm b/stubdom/stubdom-dm index bf77d1fad1..c85fa53635 100644 --- a/stubdom/stubdom-dm +++ b/stubdom/stubdom-dm @@ -80,8 +80,8 @@ done # Termination handler term() { - kill %1 [ -n "$vncpid" ] && kill -9 $vncpid + rm -f /tmp/domname-dm rm ${stubdom_configdir}/$domname-dm exit 0 } @@ -154,11 +154,10 @@ do j=$(( $j + 1 )) done echo " ] " >> ${stubdom_configdir}/$domname-dm -creation="xm create -c ${stubdom_configdir}/$domname-dm target=$domid memory=32 extra=\"$extra\"" -(while true ; do sleep 60 ; done) | /bin/sh -c "$creation" & -#xterm -geometry +0+0 -e /bin/sh -c "$creation ; echo ; echo press ENTER to shut down ; read" & -consolepid=$! +mkfifo /tmp/$domname-dm +xm create -c ${stubdom_configdir}/$domname-dm target=$domid memory=32 extra="$extra" < /tmp/$domname-dm & +exec 4>/tmp/$domname-dm ########### @@ -178,6 +177,6 @@ then fi # wait for SIGHUP or stubdom termination -wait $consolepid +wait term |