On Thu, Mar 03, 2005 at 11:26:50AM -0500, Henry Hartley wrote:
I've set up a FC3 box and want to run Interchange (http://www.icdevgroup.org/) on it. The default perl on Fedora Core (and this was true with RHL since 8) has threading turned on. Interchange requires that threading be dissabled in order to run. Now, I've grabbed the source and rebuilt perl and things are basically working but out of curiosity, is the decision to enable threads in FC's perl one that anyone would be willing to reconsider? Is threaded perl required by enough people at this point to justify it? Here's a piece of a thread (admitedly it's a bit old - from April 2003) discussing the topic.
[snip]
The author of that article seems to be conflating two topics; the use of a perl interpreter with thread-support compiled in, and actually making use of the thread facilities. I am not aware of any significant bugs that affect a single-threaded program running on a ithread-enabled perl interpreter that don't also appear with a 'vanilla' interpeter. Thus Interchange should work just as well on both interpeters, *unless* there is a specific reason which the article doesn't mention.
As to whether Interchange would work successfully in a multi-threaded Perl application is an entirely different matter; I can well believe that it doesn't; lots of Perl code and modules don't, as they haven't been specifically written or modified to be thread-safe.
The first version of Perl to make an ithreads API accessible to the user was version 5.8.0, released in July 2002, and yes, there were a lot of threads-related bugs in it; since then three have been 6 further releases, (current is 5.8.6; FC3 has 5.8.5), and there have been a lot of threads-related fixes during that time, many of them by me.
So I can't see any major reason for not making the default perl compiler ithread-enabled.
Dave