> I don't see what the big deal is here. It doesn't have to be one or > the other. It REALLY is up to PHP and mod_perl to let their users > know that they aren't thread-safe. It would also be helpful for > Apache to let its users know that there are potential problems due to > non-thread-safe third-party modules. > > As someone else posted, put a notice in the Apache distribution area > that Apache 2.0 now supports threaded models, and before upgrading to > Apache 2.0 and using one of the threaded models, users should check > with each third-party module that they use to see if they're > thread-safe.
If someone is looking for something to do here are some suggestions: Publish a tutorial on how to review code to see if it is threadsafe and reentrant (showing example of safe and unsafe implementations, list the 10 most common pitfalls that make a library not threadsafe (use of strtok and static variables, setting, incrementing/decrementing and testing of variables, etc.)). Maintain a list of know threadsafe/reentrant and unsafe libraries. Maintain a list of Apache 2.0 modules with known problems and hopefully be as specific as possible. If we can point out the problems, folks will likely step up and fix them. A remarkable number of software developers are really ignorant about programming in a threaded environment and I know from first hand experience with newbie software developers that it is really difficult for some people to grok that even a one instruction timing window where two threads can interfere with each other cannot be allowed. Anything we, the httpd developers, can do to help educate folks (even if it is just pointing them to good doc on writing threaded applications) is in our best interest. Bill