Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Tame deadlocks in broken refchan tests [Bug 3522560] |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
29535daab164e8739e600dfa6fa4a640 |
User & Date: | ferrieux 2012-04-30 21:53:55 |
Context
2012-05-02
| ||
06:50 | TclWinCPUID now respects -fPIC compilation on 32-bit Linux check-in: cf269b5da3 user: jan.nijtmans tags: trunk | |
2012-05-01
| ||
12:21 | merge trunk Leaf check-in: 18b67ecc84 user: dgp tags: tip-401 | |
04:51 | merge trunk check-in: f0310da009 user: dkf tags: tip-400-impl | |
2012-04-30
| ||
21:53 | Tame deadlocks in broken refchan tests [Bug 3522560] check-in: 29535daab1 user: ferrieux tags: trunk | |
12:55 | Revert introduction of non-portable asm snippet in function TclWinCPUID, to restore compilability on... check-in: 2e93a2feb3 user: ferrieux tags: trunk | |
Changes
Changes to ChangeLog.
|
| > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 | 2012-04-30 Alexandre Ferrieux <[email protected]> * tests/ioCmd.test: Tame deadlocks in broken refchan tests [Bug 3522560] 2012-04-28 Alexandre Ferrieux <[email protected]> IMPLEMENTATION OF TIP#398 * generic/tclIO.c: Quickly Exit with Non-Blocking Blocked Channels * tests/io.test : *** POTENTIAL INCOMPATIBILITY *** * doc/close.n : (compat flag available) |
︙ | ︙ |
Changes to tests/ioCmd.test.
︙ | ︙ | |||
2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 | note [puts -nonewline $c ABC ; flush $c] close $c notes } c] set res } -cleanup { proc foo {args} {onfinal; set ::done-24.15 1; return 3} vwait done-24.15 rename foo {} unset res } -result {{write rc* ABC} {watch rc* write} {}} \ -constraints {testchannel thread} test iocmd.tf-24.16 {chan write, note the background flush setup by close due to the EAGAIN leaving data in buffers.} -match glob -setup { | > | 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 | note [puts -nonewline $c ABC ; flush $c] close $c notes } c] set res } -cleanup { proc foo {args} {onfinal; set ::done-24.15 1; return 3} after 1000 {set ::done-24.15 2} vwait done-24.15 rename foo {} unset res } -result {{write rc* ABC} {watch rc* write} {}} \ -constraints {testchannel thread} test iocmd.tf-24.16 {chan write, note the background flush setup by close due to the EAGAIN leaving data in buffers.} -match glob -setup { |
︙ | ︙ | |||
2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 | notes } c] # Replace handler with all-tracking one which doesn't error. # This will tell us if a write-due-flush is there. proc foo {args} { onfinal; note BG ; track ; set ::endbody-24.16 1} # Flush (sic!) the event-queue to capture the write from a # BG-flush. vwait endbody-24.16 set res } -cleanup { proc foo {args} {onfinal; set ::done-24.16 1; return 3} vwait done-24.16 rename foo {} unset res } -result {{write rc* ABC} {watch rc* write} {} BG {write rc* ABC}} \ -constraints {testchannel thread} # --- === *** ########################### | > > | 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 | notes } c] # Replace handler with all-tracking one which doesn't error. # This will tell us if a write-due-flush is there. proc foo {args} { onfinal; note BG ; track ; set ::endbody-24.16 1} # Flush (sic!) the event-queue to capture the write from a # BG-flush. after 1000 {set ::endbody-24.16 2} vwait endbody-24.16 set res } -cleanup { proc foo {args} {onfinal; set ::done-24.16 1; return 3} after 1000 {set ::done-24.16 2} vwait done-24.16 rename foo {} unset res } -result {{write rc* ABC} {watch rc* write} {} BG {write rc* ABC}} \ -constraints {testchannel thread} # --- === *** ########################### |
︙ | ︙ |