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

Reply via email to