diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2012-05-01 04:51:49 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2012-05-01 04:51:49 (GMT) |
commit | 8ee166780cbfe234c62b815deec072a75c5dc9ad (patch) | |
tree | 3e75ac935db012ae80ec1b3315c3086cf25e1afc | |
parent | 42e171af9f7d955cce861026cfccd61e950256e3 (diff) | |
parent | 67a898d6e777d135ab218d8a50fe701644f179a6 (diff) | |
download | tcl-8ee166780cbfe234c62b815deec072a75c5dc9ad.zip tcl-8ee166780cbfe234c62b815deec072a75c5dc9ad.tar.gz tcl-8ee166780cbfe234c62b815deec072a75c5dc9ad.tar.bz2 |
merge trunk
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | tests/io.test | 1 | ||||
-rw-r--r-- | tests/ioCmd.test | 3 | ||||
-rw-r--r-- | unix/tclUnixCompat.c | 3 |
4 files changed, 14 insertions, 3 deletions
@@ -1,10 +1,14 @@ -2012-14-28 Alexandre Ferrieux <ferrieux@users.sourceforge.net> +2012-04-30 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * tests/ioCmd.test: Tame deadlocks in broken refchan tests [Bug 3522560] + +2012-04-28 Alexandre Ferrieux <ferrieux@users.sourceforge.net> IMPLEMENTATION OF TIP#398 * generic/tclIO.c: Quickly Exit with Non-Blocking Blocked Channels - * tests/io.test - * doc/close.n + * tests/io.test : *** POTENTIAL INCOMPATIBILITY *** + * doc/close.n : (compat flag available) 2012-04-27 Jan Nijtmans <nijtmans@users.sf.net> diff --git a/tests/io.test b/tests/io.test index 74a246c..e6cea16 100644 --- a/tests/io.test +++ b/tests/io.test @@ -2750,6 +2750,7 @@ test io-29.33b {TIP#398, no implicit flush of nonblocking on exit} {exec} { close $f set t1 [clock seconds] set ff [open "|[list [interpreter] $path(script2)]" w] + catch {unset ::env(TCL_FLUSH_NONBLOCKING_ON_EXIT)} exec [interpreter] $path(script) >@ $ff set t2 [clock seconds] close $ff diff --git a/tests/ioCmd.test b/tests/ioCmd.test index 4c08229..6b1da73 100644 --- a/tests/ioCmd.test +++ b/tests/ioCmd.test @@ -2575,6 +2575,7 @@ test iocmd.tf-24.15 {chan write, EAGAIN means that writing is not allowed at thi 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 @@ -2603,10 +2604,12 @@ test iocmd.tf-24.16 {chan write, note the background flush setup by close due to 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 diff --git a/unix/tclUnixCompat.c b/unix/tclUnixCompat.c index d3da962..1c42056 100644 --- a/unix/tclUnixCompat.c +++ b/unix/tclUnixCompat.c @@ -991,9 +991,12 @@ TclWinCPUID( int status = TCL_ERROR; #ifdef HAVE_CPUID + /* disabled in emergency -- fails on linux */ +# if 0 __asm__ __volatile__ ("cpuid":\ "=a" (regsPtr[0]), "=b" (regsPtr[1]), "=c" (regsPtr[2]), "=d" (regsPtr[3]) : "a" (index)); status = TCL_OK; +# endif #endif return status; } |