Posted to tcl by jdc at Tue Jul 24 09:37:48 GMT 2012view raw

  1. ==== io-29.33b TIP#398, no implicit flush of nonblocking on exit FAILED
  2. ==== Contents of test case:
  3.  
  4. set f [open $path(script) w]
  5. puts $f {
  6. fconfigure stdout -blocking 0
  7. puts -nonewline stdout [string repeat A 655360]
  8. flush stdout
  9. }
  10. close $f
  11. set f [open $path(script2) w]
  12. puts $f {after 2000}
  13. close $f
  14. set t1 [clock milliseconds]
  15. set ff [open "|[list [interpreter] $path(script2)]" w]
  16. catch {unset ::env(TCL_FLUSH_NONBLOCKING_ON_EXIT)}
  17. exec [interpreter] $path(script) >@ $ff
  18. set t2 [clock milliseconds]
  19. close $ff
  20. expr {($t2-$t1)/2000 ? $t2-$t1 : 0}
  21.  
  22. ---- Result was:
  23. 2033
  24. ---- Result should have been (exact matching):
  25. 0
  26. ==== io-29.33b FAILED