Hi Brent;
"puts stderr" continues to exist in tclhttpd libs preventing operation under
Wish831, at least on Windows.
There are 21 occurances and I don't know which are important and which are
not.
Affected files (all in tclhttpd3.0.1/lib):
cgi.tcl
discover.tcl
httpd.tcl
maptcl.tcl
maptk.tcl
safecgio.tcl
session.tcl
stdin.tcl (is this really used?)
thread.tcl (probaby the proximate culprit)
After changing the two offending "puts stderr ..." lines to "Stderr ..." in
thread.tcl, the server will come up sufficiently to display an error page
and one can view the debug/errorinfo page to see:
invalid command name "Stderr"
while executing
"Thread_Send $id {Stderr "Thread starting."}"
(procedure "Thread_Start" line 4)
invoked from within
"Thread_Start"
(procedure "Thread_Dispatch" line 12)
invoked from within
"Thread_Dispatch $sock [concat $Url(command,$prefix) [list $sock $suffix]]"
Could this be caused because lib/utils.tcl isn't being loaded into the
appropriate thread?
Removing these two lines causes the server to once again completely fail.
The error log merely displays cryptic information such as:
[18/May/2000:20:52:31] sock124 can not find channel named "stdout" /
[18/May/2000:20:52:36] sock188 can not find channel named "stdout" /
[18/May/2000:20:52:37] sock236 can not find channel named "stdout" /
After "catch"ing every reference to stdout in the lib it still fails. THEN I
discovered that htdocs/cgi-bin/cgilib.tcl uses "puts stdout" all over the
place and came to the bitter conclusion that this bug is beyond what I can
figure out.
HHHEEELLLPPP!!!
I really need tclhttpd with threads to work under Tk!!
Sincerely,
Dave LeBlanc