X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flmake;h=cb177a287dfbbecdf3c8750c60db59545488827a;hb=cfaf31a01d1e3023611130ec1f8ece073f0092b9;hp=65cbaa06de312775312d7f0500918a9bbde020b5;hpb=a9ef885f7833a896506752c2f66060123e963d41;p=fs%2Flustre-release.git diff --git a/build/lmake b/build/lmake index 65cbaa0..cb177a2 100755 --- a/build/lmake +++ b/build/lmake @@ -360,7 +360,7 @@ timed_run() { wait $child_pid # status will be set to 143 if the process had to be killed due to timeout - status=$? + status=${PIPESTATUS[0]} kill -KILL -$dog_pid return $status } @@ -381,10 +381,25 @@ depend_kernel() # use the expect script to "make oldconfig" and answer the questions for # new items conservatively. QA will get notified on anything newly added # for them to review and adjust accordingly. - timed_run 300 $TOPDIR/build/update_oldconfig - if [ $? -eq 143 ]; then + local logfile=$(mktemp /tmp/XXXXXX) + #timed_run 300 $TOPDIR/build/update_oldconfig $logfile + #local RC=${PIPESTATUS[0]} + #local RC=$(strace -f -o update_oldconfig.strace bash -c "$TOPDIR/build/update_oldconfig $logfile; echo \$?") + $TOPDIR/build/update_oldconfig $logfile + local RC=${PIPESTATUS[0]} + if [ $RC -eq 143 ]; then fatal 1 "update_oldconfig timed out" + elif [ $RC -ne 0 ]; then + # dump the log + cat $logfile + rm -f $logfile + if [ -f update_oldconfig.strace ]; then + cat update_oldconfig.strace + rm -f update_oldconfig.strace + fi + fatal 1 "update_oldconfig failed: $RC. See log above." fi + rm -f $logfile # now notify if resulting .config is different than $CONFIG_FILE local tmpfile=$(mktemp /tmp/XXXXXX) diff -I '^#.*' -u "$CONFIG_FILE" .config >$tmpfile