
vwait doesn't kill background processes on NT (only)
Tcl 8.0.5 Bug: Generated by Scriptics' bug entry form at
http://www.*-*-*.com/
Responses to this post are encouraged.
------
Submitted by: jeff vier
OperatingSystem: Windows NT
CustomShell: none
Synopsis: vwait doesn't kill background processes on NT (only)
ReproducibleScript:
This is using wish on NT (obviously).
Just pasting the following script in /should/ (as I understand it, and
as it is reflected on HP/UX) produce 3 lines of output "abc", "123", and
"done". Alas, it does not, as you'll see.
proc go {} {
puts [info level [info level]]
set interruptor 1
after 700 {set interruptor 2394}
primer
}
proc primer {} {
puts [info level [info level]]
vwait interruptor;
global interruptor;
puts "interruptor = $interruptor";
set n 0
puts "n = $n";
after $n {puts "abc"}
set n [expr $n + 300]
puts "n = $n";
after $n {puts "123"}
set n [expr $n + 500]
puts "n = $n";
after $n {puts "xyz"}
set n [expr $n + 300]
puts "n = $n";
after $n {puts "123"}
set n [expr $n + 500]
puts "n = $n";
after $n {puts "abc"}
set n [expr $n + 300]
puts "n = $n";
after 400 {set x 0}
vwait x
puts done
}
go;
ObservedBehavior:
The script continues past the change of the variable upon which the
vwait is dependant. This is not convenient.
DesiredBehavior:
On HP, the script ends gracefully, as it is described in any
documentation I can find.