Revision history for Perl extension Net::Z3950::AsyncZ. 0.08 2004/3/25 Thursday 11:47 -add protection for overloaded data throughput to prevent excessive virtual memory swapping and potential loos of data and disk thrashing. This is accomplished through two new options set in AsnyncZ->new: 'swap_check' and 'swap_attempts'. AsyncZ checks for unusual amounts of swap activity and if found sleeps for 'swap_check' number of seconds and the re-checks up to 'swap_attempts' number of times, aftr which it exits if excessive swap activity continues. 0.07 2003/12/2 Tuesday 8:40:33 -Fixed utf8 implementation: MARC:Charset was not installed when utf8=>1 was set as a parameter to the _params object but only when the function form set_utf8(1) was called. The reason for this is that the function form is handled in Options::_params::AUTOLOAD, which calls AsyncZ::_setupUTF8(). I had forgotten to implement a procedure for calling AsyncZ::_setupUTF8() when the parameter format was used. 2003/12/4 Thursday 23:27 -Fixed bug in handling of the output callback option to the _params object. The output callback function would come into play only when cb=>\&output_function was passed as a parameter to Asynz::new(). But the callback failed when cb=>\&output_function was passed to a _params object through Net::Z3950::AsyncZ::asyncZOptions() or set through $params_object->set_cb(). Now, it works as it was supposed to, i.e.it is possible to set a different callback for each individual server. 0.06 2003/06/19 Thursday 12:02:52; -Upgraded code for reaping zombies in AsyncZ::DESTROY--checking first to see if child process is still running (kill=>0 $pid) and then adding a sleep at end of method to give child handler a chance to reap oustanding killed prcoesses. -Added skeleton pod to ErrMsg.pm 0.06 2003/7/11 Tursday 8:16:10 -Fixed error in logic in Report.pm that caused the space to be eliminated between adjacent subject headings that occcur in subject fields with multiple entries and also eliminated spaces between elements in LC numbers. 0.05 Sunday May 31/2003 13:05 -fixed bug in Errors.pm so that the Message "No Records for this Query" is suppressed when suppressErrors is in effect; -included DB.txt and test_dbs.pl in the scripts directory, supplying over 1000 servers with a script to query and test them -fixed bug in AsyncZ.pm so that correct pid is found when getting the results from a server, in _getresult(); this assures that the correct index is fed to the callback function--this problem showed up only once we began to process large numbers of servers in one session (with the test_dbs.pl script) 0.03 2003/05/05 Sunday 16:06:18 - AsyncZ.pm and _params.pm Implemented utf8 support, using MARC::Charset added utf8 option to _params.pm added _setupUTF8() and _utf8() in AsyncZ.pm 0.03 2003/05/02 Friday 14:39:12 - Report.html/Report.pod explictly indicated that $all, $xtra, $std are references to the respective %MARC_ hashes-- which I had failed to do in earlier documentation added an example of how to create a user defined MARC hash which adds fields to the %MARC_FIELDS_ALL hash. - Contents.html updated index to reflect changes in Report.html 0.02 Tuesday April 15 2003 - Converted Net::AsyncZ to Net::Z3950::AsyncZ - AsyncZ.pm fixed bug which result in "Killed" being printed to STDERR at closed of scripts which did not use a monitor process 0.02 Sunday April 13 2003 - Added support for unrendered raw records with helper subroutines - AsyncZ.pm # params: string or ref to string # boolean: true, then substitution uses 'g' modifier # substitution string # if subst string is not defined, empty string is substituted # return: either string or reference to string, depending on whether a reference or a string # was intially passed in paramter $_[0] sub delZ_header sub delZ_pid sub delZ_serverName sub _del_headers # internal function which implements the above sub prep_Raw # prepares the unrendered raw data for get_ZRawRec(); # param: ref to string of raw records # return next record sub get_ZRawRec - AsyncZ.pm Fixed bug in: sub isZ_MARC, sub isZ_GRS, sub isZ_RAW,isZ_DEFAULT pattern was not being checked only names (MARC, GRS1,RAW,DEFAULT); - Report.pm we now output unrendered raw and rendered raw records: printRaw, printRenderedRaw added option to new: rendered => 1 # default is true - _params.pm updated _params with support for rendered option 0.02 Fri April 11 2003 - AsyncZ.pm - Added use sigtrap to handle signals not handled explcitly purpose: to protect against failure to free shared memory and semaphores if a browser cut off contact with a script - Added private parameter monitor_pid to new purpose: to give new and DESTROY access to the monitor's pid, so as to enable one of these to kill the process in clean up, again to prevent failure to free IPC resources 0.01 Mon Mar 31 20:45:10 2003 - original version; created by h2xs 1.22 with options -X -A Net::Z3950::AsyncZ