Changes for version 2.20 - 2002-09-11
- Added a mod_persistentperl module that works under Apache 2.0.39 or later. Works with the default prefork mpm, but not with threaded mpm's.
- Exit status is now passed from the backend to the frontend. The frontend now exits soon after the backend exits instead of when all sockets close.
- Fixed bug where alarm's were unusable from within perl code.
- Signal handling in the backend has been cleaned up. Signal settings will no longer be altered between perl runs.
- Find scripts by dev/ino/group-name instead of by dev/ino
- In the "perperl" executable buffering has been changed so that BufsizGet and BufsizPut are now maximum values instead of absolute values. The buffers will start small and grow to this value if needed. The default values for these options have been increased.
- Backend allocation is now controlled better. Another backend isn't allocated until the previous backend has had a chance to start. This should reduce the tendency to use too many backends when the load fluctuates.
- Initially compiled perl-code is now shared among interpreters within the same group (or same script if not using groups).
- To implement the new shared perl code and exit status features, an extra parent process is created for each group (or for each script, if not using groups). This process should use very little cpu or un-shared memory.
- New code provides doubly linked lists for all slots in the temp file. This eliminates some of the more obscure linked list code in various places, and enables some minor performance improvements.
- PersistentPerl - Speed up perl scripts by running them persistently
- ModTest in mod_persistentperl/t/ModTest.pm