aboutsummaryrefslogtreecommitdiffstats
path: root/stubdom
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-10-29 14:04:45 +0000
committerKeir Fraser <keir.fraser@citrix.com>2009-10-29 14:04:45 +0000
commitdde521066b79252110b5051b86b502003752fffa (patch)
treeee183ba5961ce810376f38ef238c420690c55b02 /stubdom
parentdd11df9b815419c73c2845df5e4f8433cb43d665 (diff)
downloadxen-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-dm11
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