Tcl package Thread source code

Ticket Change Details
Login
Overview

Artifact ID: f87645b7cf263dc3edfb107d93fe88f800e137664a2bc604de1d59f73413a523
Ticket: c72c2eb54b644dc5e5b44b6a410311fca1b7a3ef
Invalid channel names in thread
User & Date: tomkiti 2018-03-03 18:49:02
Changes

  1. assignee changed to: "nobody"
  2. closer changed to: "nobody"
  3. cmimetype changed to: "text/plain"
  4. comment changed to:
    In wish 8.6.8 on Windows, the 2nd, 3rd, and 4th files that are opened within a thread return the channel names stdin, stdout, and stderr. This does not happen in the main thread, in tclsh 8.6.8, in wish 8.5.*, or on Linux.
    
    For example, the following script writes the first 5 opened channel names to a log file:
    
        package require Thread
        set tid [::thread::create]
        ::thread::send $tid {
            set chan1 [open c:/temp/log.txt w]
            set chan2 [open nul w]
            set chan3 [open nul w]
            set chan4 [open nul w]
            set chan5 [open nul w]
            puts $chan1 "chan1 = $chan1"
            puts $chan1 "chan2 = $chan2"
            puts $chan1 "chan3 = $chan3"
            puts $chan1 "chan4 = $chan4"
            puts $chan1 "chan5 = $chan5"
            close $chan1
            close $chan2
            close $chan3
            close $chan4
            close $chan5
        }
        exit
    
    The file c:/temp/log.txt will contain something like:
    
        chan1 = file303b0c0
        chan2 = stdin
        chan3 = stdout
        chan4 = stderr
        chan5 = file3033160
    
    I don't know if the problem is in Tcl, wish, or the Thread package, but I'm reporting it here.
    
  5. foundin changed to: "2.8.2"
  6. is_private changed to: "0"
  7. login: "tomkiti"
  8. priority changed to: "5 Medium"
  9. private_contact changed to: "1c57e67924247fd7926e89348f266c081ec57db2"
  10. resolution changed to: "None"
  11. severity changed to: "Important"
  12. status changed to: "Open"
  13. submitter changed to: "tomkiti"
  14. subsystem changed to: "80. Thread Package"
  15. title changed to: "Invalid channel names in thread"
  16. type changed to: "Bug"