Browse Source

2011-03-15 H.J. Lu <hjl.tools@gmail.com>

* lib/remote.exp (local_exec): Ignore SIGHUP.
dejagnu-1.5.2
Ben Elliston 15 years ago
parent
commit
50a378f626
  1. 4
      ChangeLog
  2. 10
      lib/remote.exp

4
ChangeLog

@ -1,3 +1,7 @@
2011-03-15 H.J. Lu <hjl.tools@gmail.com>
* lib/remote.exp (local_exec): Ignore SIGHUP.
2011-03-14 Ben Elliston <bje@gnu.org>
* runtest.exp (frame_version): Set to 1.5.1.

10
lib/remote.exp

@ -86,11 +86,15 @@ proc local_exec { commandline inp outp timeout } {
# doesn't assign process groups correctly and we can't reliably kill
# programs that bear children. We can't use tcl's exec because it has
# no way to timeout programs that hang. *sigh*
#
# The expect command will close the connection when it sees
# EOF. Closing the connection may send SIGHUP to the child and
# cause it to exit before it can exit normally. The child should
# ignore SIGHUP.
global errorInfo
if { "$inp" == "" && "$outp" == "" } {
set id -1
set result [catch "eval spawn \{${commandline}\}" pid]
set result [catch "eval spawn -ignore SIGHUP \{${commandline}\}" pid]
if { $result == 0 } {
set result2 0
} else {
@ -130,7 +134,7 @@ proc local_exec { commandline inp outp timeout } {
return [list -1 "open of $commandline $inp $outp failed: $errorInfo"]
}
set pid [pid $id]
set result [catch "spawn -leaveopen $id" result2]
set result [catch "spawn -ignore SIGHUP -leaveopen $id" result2]
}
# Prepend "-" to each pid, to generate the "process group IDs" needed by
# kill.

Loading…
Cancel
Save