in reply to File::Find in a thread safe fashion
You'll get the same problem with using any code that relies upon global state if you try to use it in threads. You'll likely get a similar problem if you try to use File::Find in an event driven environment like POE.
There was a recent thread about what is wrong with File::Find. For me, it's this dependancy upon global state that is it's biggest failing. It's not just the Perlish global vars that form the interface that is a problem--ithreads heroically attempts and mostly succeeds in defending you against that--it's also the way it changes the state of the process by changing the process' current working directory. I'm not sure of the case under pthreads, but on Win32, the CWD is a process-wide state at the OS level, so running File::Find in threads whilst it has this behaviour will never succeed.
You should be able to use opendir/readdir/closedir successfully in a threaded environment.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: File::Find in a thread safe fashion
by Preceptor (Deacon) on Jul 28, 2006 at 12:18 UTC | |
by Preceptor (Deacon) on Jul 28, 2006 at 12:42 UTC |