From 26b0ec1ad897acae5988513f30a661967c40a295 Mon Sep 17 00:00:00 2001 From: kueller Date: Mon, 20 Apr 2009 17:43:33 +0000 Subject: [PATCH] Sicherung wenn /proc nicht gemountet ist, und NUMCPU damit nicht gesetzt wird. Im Dispatcher wird dann zumindest 1 Executor gestartet. Executer legt jetzt Semaphoren file an, um gleichzeitige lese Zugriffe auf den cmd fifo zu vermeiden - dat jibt naemlich datensalat. git-svn-id: svn://svn.compuextreme.de/Viitor/V962/ViitorMake@4597 504e572c-2e33-0410-9681-be2bf7408885 --- functions/functions | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/functions/functions b/functions/functions index f8ae69a..56dff42 100644 --- a/functions/functions +++ b/functions/functions @@ -615,7 +615,12 @@ MakeFifo() { ExecCommand() { echo "1" >&8 while true; do + while [ -f $SEMAPHORE ]; do + sleep 1 + done + touch $SEMAPHORE read <&9 COMMAND + rm $SEMAPHORE if [ "$COMMAND" == "wshutdown" ]; then return 0 else @@ -633,10 +638,16 @@ ExecCommand() { InitDispatch() { FREEF=`MakeFifo` CMDF=`MakeFifo` + SEMAPHORE=`mktemp` + rm $SEMAPHORE exec 8<>$FREEF exec 9<>$CMDF EXECPROCNUM=$NUMCPU + if [ ! $EXECPROCNUM ]; then + EXECPROCNUM=1 + fi NUMCMD=1 + echo "Starting $NUMCPU Executors" while [ ${NUMCMD} -le $EXECPROCNUM ]; do ExecCommand & (( NUMCMD++ ))