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
This commit is contained in:
parent
261f1dc3f3
commit
26b0ec1ad8
@ -615,7 +615,12 @@ MakeFifo() {
|
|||||||
ExecCommand() {
|
ExecCommand() {
|
||||||
echo "1" >&8
|
echo "1" >&8
|
||||||
while true; do
|
while true; do
|
||||||
|
while [ -f $SEMAPHORE ]; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
touch $SEMAPHORE
|
||||||
read <&9 COMMAND
|
read <&9 COMMAND
|
||||||
|
rm $SEMAPHORE
|
||||||
if [ "$COMMAND" == "wshutdown" ]; then
|
if [ "$COMMAND" == "wshutdown" ]; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
@ -633,10 +638,16 @@ ExecCommand() {
|
|||||||
InitDispatch() {
|
InitDispatch() {
|
||||||
FREEF=`MakeFifo`
|
FREEF=`MakeFifo`
|
||||||
CMDF=`MakeFifo`
|
CMDF=`MakeFifo`
|
||||||
|
SEMAPHORE=`mktemp`
|
||||||
|
rm $SEMAPHORE
|
||||||
exec 8<>$FREEF
|
exec 8<>$FREEF
|
||||||
exec 9<>$CMDF
|
exec 9<>$CMDF
|
||||||
EXECPROCNUM=$NUMCPU
|
EXECPROCNUM=$NUMCPU
|
||||||
|
if [ ! $EXECPROCNUM ]; then
|
||||||
|
EXECPROCNUM=1
|
||||||
|
fi
|
||||||
NUMCMD=1
|
NUMCMD=1
|
||||||
|
echo "Starting $NUMCPU Executors"
|
||||||
while [ ${NUMCMD} -le $EXECPROCNUM ]; do
|
while [ ${NUMCMD} -le $EXECPROCNUM ]; do
|
||||||
ExecCommand &
|
ExecCommand &
|
||||||
(( NUMCMD++ ))
|
(( NUMCMD++ ))
|
||||||
|
Loading…
Reference in New Issue
Block a user