[Starkit] starpack vfs can't be accessed from thread

sgargash at comcast.net sgargash at comcast.net
Tue Jan 2 20:36:21 CET 2007


When using the most recent ActiveState release (8.4.14) on Windows, I can no longer access files in a VFS from a child thread.

Here's a simple test case (test.vfs/main.tcl):

package require starkit
starkit::startup

package require Thread

puts [pwd]
thread::create {cd [info nameofexecutable]}
after 1000
puts [pwd]

If I turn that into a starpack with 8.4.14, I get:

C:/home/scottg/tmp/test1
Error from thread tid000000D0
couldn't change working directory to
"c:/home/scottg/tmp/test1/test.exe": no such file or directory
    while executing
"cd [info nameofexecutable]"
C:/home/scottg/tmp/test1

whereas with an older ActiveState release (8.4.13), I get:

C:/home/scottg/tmp/test1
C:/home/scottg/tmp/test1/test.exe

I saw in an older comp.lang.tcl thread that there were thread safety issues in the vfs code, but that this had
been fixed.   Is there now something new that needs to be done to allow the child thread access to the VFS? 


More information about the Starkit mailing list