Revision history for Perl extension Net::Z3950::AsyncZ.
0.10 Wed Jun 2 13:47:24 CDT 2004
-implmeneted what I hope is permanent fix for the swap check issue--added
a 1 sec sleep between each input from pipe in the loop reading from vmstat, in
sub is_mem_left:
while(VMSAT) {
sleep(1)
. . .
}
0.10 2004/5/29/ Saturday 6:24
-found that swap check failed under certain conditions and added temporary fix
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 then 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