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
}
# 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 \$?")
+ if [ $RC -eq 143 ]; then
fatal 1 "update_oldconfig timed out"
+ elif [ $RC -ne 0 ]; then
+ # dump the log
+ cat $logfile
+ rm -f $logfile
+ cat update_oldconfig.strace
+ rm -f update_oldconfig.strace
+ 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