Ouch - it looks like the Windows Tcl library initialization is broken
in a slightly different way on Windows than its broken on Unix (for threads).
I had to do the following to get it to work.  Until I can put out 3.0.1, do 
this:

In lib/thread.tcl, add a command to initialize tcl_library.  I added the
first of these three Thread_Send commands:

    # Set up auto_loading.  These steps may become redundent once the
    # TclpSetLibraryPath code works correctly in threads.

    Thread_Send $id \
        [list set tcl_library $tcl_library]
    Thread_Send $id \
        {source $tcl_library/init.tcl}
    Thread_Send $id \
        [list set auto_path $auto_path]

Second, in bin/httpdthread.tcl, I had to add this (it's a bit of a mystery
why it worked at all on Unix without this...), right after the
"package require log"

if {$Config(threads) > 0} {
    package require Thread              ;# C extension
    package require threadmgr           ;# Tcl layer on top
}

What the heck - I'll attach both files to this message.

>>>"David LeBlanc" said:
 > Hi;
 > 
 > (this is an addition to the email I just posted.)
 > 
 > This is what you see on a console:
 > 
 > [K:/tcl/apps/tclhttpd3.0.0/bin]% tclsh83 httpd.tcl -debug 1
 > auto_path:
 > K:/tcl/lib/tcl8.3
 > K:/tcl/lib
 > K:/tcl/apps/tclhttpd3.0.0/bin/../lib
 > K:/tcl/lib/tcllib0.4
 > K:/tcl/apps/tclhttpd3.0.0/bin/../htdocs/libtml
 > can't find package limit
 > Running with default file descriptor limit
 > Threads enabled
 > No .htaccess support: can't find package crypt
 > httpd started on port 8015
 > 
 > httpd % Thread  starting.
 > Thread  starting.
 > Thread  starting.
 > 
 > Each of the "Thread starting." lines corresponds to an attempt to access the
 > server.
 > 
 > Dave LeBlanc
 > 

--      Brent Welch     <[EMAIL PROTECTED]>
        http://www.scriptics.com
        Scriptics: The Tcl Platform Company

thread.tcl

httpdthread.tcl

Reply via email to