redirect - Tcl/Tk - Memchan - fifo - how to rename fifo as stdout in a tcl/tk application which has Memchan statically linked? -
i cross posted question on comp.lang.tcl.
i developing tcl/tk application (call rs) , want redirect stdout , stderr text box in tcl/tk application. using memchan achieve (i statically linked memchan application). unable rename fifo channel created stderr. (the same thing holds true stdout too)
for example, in following snippet, closing stderr , opening fifo stderr fifo channel remains named fifo0 not stderr.
$ rs rs> package require memchan 2.3 rs> chan names stdin stdout stderr rs> close stderr rs> chan names stdin stdout rs> set stderr [fifo] fifo0 rs> chan names fifo0 stdin stdout i expected stderr instead of fifo0 when typed in last of chan names command.
but when use tclsh8.5 above sequence produces desired effect i.e fifo renamed stderr
$ tclsh8.5 % package req memchan 2.3 % chan names stdin stdout stderr % close stderr % chan names stdin stdout % set stderr [fifo] fifo0 % chan names stderr stdin stdout note: no fifo0 desired stderr.
can point out how reproduce behavior in tclsh8.5 in tcl/tk application rs.
since memchan doesn't produce channels backed file descriptor, can't replace standard channels (which correspond fds 0, 1 , 2).
Comments
Post a Comment