From sean at seanoneill.info Thu May 1 14:52:55 2003 From: sean at seanoneill.info (sean at seanoneill.info) Date: Thu, 1 May 2003 14:52:55 -0700 Subject: [Orca-checkins] rev 232 - trunk/orca/data_gatherers/orcallator Message-ID: <200305012152.h41Lqtbx014151@orcaware.com> Author: sean at seanoneill.info Date: Thu May 1 14:52:53 2003 New Revision: 232 Modified: trunk/orca/data_gatherers/orcallator/orcallator.cfg.in Log: Modified: trunk/orca/data_gatherers/orcallator/orcallator.cfg.in Log: * data_gatherers/orcallator/orcallator.cfg.in: In addition to uptime in Days already in graph, updated uptime graph configuration in orcallator.cfg.in to include uptime in Weeks and Months. This idea was seen on http://www.tssphoto.com/orca/ which appears to be using a somewhat modified version of procallator at least in relation to uptime. Modified: trunk/orca/data_gatherers/orcallator/orcallator.cfg.in ============================================================================== --- trunk/orca/data_gatherers/orcallator/orcallator.cfg.in (original) +++ trunk/orca/data_gatherers/orcallator/orcallator.cfg.in Thu May 1 14:52:53 2003 @@ -135,9 +135,14 @@ title %g Uptime source orcallator data uptime / 86400 +data uptime / ( 86400 * 7 ) +data uptime / ( 86400 * 30 ) line_type area -legend Uptime -y_legend Days +legend Uptime in Days +legend Uptime in Weeks +legend Uptime in Months +y_legend Total Time + data_min 0 plot_min 0 href http://www.orcaware.com/orca/docs/orcallator.html#system_uptime From sean at seanoneill.info Thu May 1 14:55:58 2003 From: sean at seanoneill.info (sean at seanoneill.info) Date: Thu, 1 May 2003 14:55:58 -0700 Subject: [Orca-checkins] rev 233 - trunk/orca/data_gatherers/orcallator Message-ID: <200305012155.h41LtwQv014219@orcaware.com> Author: sean at seanoneill.info Date: Thu May 1 14:55:56 2003 New Revision: 233 Modified: trunk/orca/data_gatherers/orcallator/orcallator.cfg.in Log: Modified: trunk/orca/data_gatherers/orcallator/orcallator.cfg.in Log: * data_atherers/orcallator/orcallator.cfg.in Found a slight typo in the version of the file just commited. Removed a blank line I inadvertently added to the uptime configuration of this file. Modified: trunk/orca/data_gatherers/orcallator/orcallator.cfg.in ============================================================================== --- trunk/orca/data_gatherers/orcallator/orcallator.cfg.in (original) +++ trunk/orca/data_gatherers/orcallator/orcallator.cfg.in Thu May 1 14:55:56 2003 @@ -142,7 +142,6 @@ legend Uptime in Weeks legend Uptime in Months y_legend Total Time - data_min 0 plot_min 0 href http://www.orcaware.com/orca/docs/orcallator.html#system_uptime From blair at orcaware.com Thu May 1 15:46:08 2003 From: blair at orcaware.com (Blair Zajac) Date: Thu, 01 May 2003 15:46:08 -0700 Subject: [Orca-checkins] rev 232 - trunk/orca/data_gatherers/orcallator References: <200305012152.h41Lqtbx014151@orcaware.com> Message-ID: <3EB1A3B0.FF11A830@orcaware.com> sean at seanoneill.info wrote: > > Author: sean at seanoneill.info > Date: Thu May 1 14:52:53 2003 > New Revision: 232 > > Modified: > trunk/orca/data_gatherers/orcallator/orcallator.cfg.in > Log: > Modified: > trunk/orca/data_gatherers/orcallator/orcallator.cfg.in > > Log: > * data_gatherers/orcallator/orcallator.cfg.in: > In addition to uptime in Days already in graph, updated uptime graph > configuration in orcallator.cfg.in to include uptime in Weeks and Months. > This idea was seen on http://www.tssphoto.com/orca/ which appears to be using > a somewhat modified version of procallator at least in relation to uptime. > Hi Sean, Could you make the same change to the procallator.cfg.in file? For all committers, let's keep the two files in sync. Thanks, Blair -- Blair Zajac Plots of your system's performance - http://www.orcaware.com/orca/ From sean at seanoneill.info Thu May 1 16:27:14 2003 From: sean at seanoneill.info (sean at seanoneill.info) Date: Thu, 1 May 2003 16:27:14 -0700 Subject: [Orca-checkins] rev 234 - trunk/orca/data_gatherers/procallator Message-ID: <200305012327.h41NRE5a015966@orcaware.com> Author: sean at seanoneill.info Date: Thu May 1 16:27:12 2003 New Revision: 234 Modified: trunk/orca/data_gatherers/procallator/procallator.cfg Log: Modified: trunk/orca/data_gathers/procallator/procallator.cfg Log: * trunk/orca/data_gathers/procallator/procallator.cfg Made two changes to this file: - Added a uptime graph block matching what is now in orcallator.cfg.in. This graph displays uptime in Days, Weeks, and Months. - Removed a blank line showing up in the Run Queue graph block Modified: trunk/orca/data_gatherers/procallator/procallator.cfg ============================================================================== --- trunk/orca/data_gatherers/procallator/procallator.cfg (original) +++ trunk/orca/data_gatherers/procallator/procallator.cfg Thu May 1 16:27:12 2003 @@ -81,6 +81,22 @@ plot { +title %g Uptime +source orcallator +data uptime / 86400 +data uptime / ( 86400 * 7 ) +data uptime / ( 86400 * 30 ) +line_type area +legend Uptime in Days +legend Uptime in Weeks +legend Uptime in Months +y_legend Total Time +data_min 0 +plot_min 0 +href http://www.orcaware.com/orca/docs/orcallator.html#system_uptime +} + +plot { title %g Average # Processes in Run Queue (Load Average) & number pf CPUs source orcallator data 1runq @@ -100,7 +116,6 @@ legend 15 minute average legend CPUs (load threshold) y_legend Number of processes and CPUs - data_min 0 data_max 100 href http://www.orcaware.com/orca/docs/orcallator.html#processes_in_run_queue From sean at seanoneill.info Thu May 1 16:32:45 2003 From: sean at seanoneill.info (sean at seanoneill.info) Date: Thu, 1 May 2003 16:32:45 -0700 Subject: [Orca-checkins] propchange - rev 234 svn:log Message-ID: <200305012332.h41NWjjB016035@orcaware.com> Author: sean at seanoneill.info Revision: 234 Property Name: svn:log New Property Value: Modified: trunk/orca/data_gatherers/procallator/procallator.cfg Log: * trunk/orca/data_gatherers/procallator/procallator.cfg Made two changes to this file: - Added a uptime graph block matching what is now in orcallator.cfg.in. This graph displays uptime in Days, Weeks, and Months. - Removed a blank line showing up in the Run Queue graph block From blair at orcaware.com Mon May 5 08:30:32 2003 From: blair at orcaware.com (Blair Zajac) Date: Mon, 5 May 2003 08:30:32 -0700 Subject: [Orca-checkins] rev 235 - in trunk/orca: . packages/Storable-2.06 packages/Storable-2.07 packages/Storable-2.07/t Message-ID: <200305051530.h45FUWag007865@orcaware.com> Author: blair Date: Mon May 5 08:30:26 2003 New Revision: 235 Added: trunk/orca/packages/Storable-2.07/ - copied from rev 234, trunk/orca/packages/Storable-2.06/ Removed: trunk/orca/packages/Storable-2.06/ Modified: trunk/orca/INSTALL trunk/orca/configure.in trunk/orca/packages/Storable-2.07/ChangeLog trunk/orca/packages/Storable-2.07/MANIFEST trunk/orca/packages/Storable-2.07/README trunk/orca/packages/Storable-2.07/Storable.pm trunk/orca/packages/Storable-2.07/Storable.xs trunk/orca/packages/Storable-2.07/t/integer.t trunk/orca/packages/Storable-2.07/t/restrict.t trunk/orca/packages/Storable-2.07/t/st-dump.pl trunk/orca/packages/Storable-2.07/t/tied.t Log: Upgrade Storable from 2.06 to 2.07 and require the new version for Orca. * configure.in: Bump Storable's version number to 2.07. * INSTALL (Determine which Perl modules need compiling and installing): Update all references to Storable's version number from 2.06 to 2.07. * packages/Storable-2.07: Renamed from packages/Storable-2.06. Directory contents updated from Storable-2.07.tar.gz. Modified: trunk/orca/INSTALL ============================================================================== --- trunk/orca/INSTALL (original) +++ trunk/orca/INSTALL Mon May 5 08:30:26 2003 @@ -175,7 +175,7 @@ Digest::MD5 >= 2.24 >= 2.24 2.24 Math::IntervalSearch >= 1.05 >= 1.05 1.05 RRDs >= 1.000421 >= 1.0.42 1.0.42 - Storable >= 2.06 >= 2.06 2.06 + Storable >= 2.07 >= 2.07 2.07 Time::HiRes Not required by Orca 1.46 All seven of these modules are included with the Orca distribution @@ -266,10 +266,10 @@ Storable - http://www.perl.com/CPAN/authors/id/A/AM/AMS/Storable-2.06.tar.gz + http://www.perl.com/CPAN/authors/id/A/AM/AMS/Storable-2.07.tar.gz - % gunzip -c Storable-2.06.tar.gz | tar xvf - - % cd Storable-2.06 + % gunzip -c Storable-2.07.tar.gz | tar xvf - + % cd Storable-2.07 % perl Makefile.PL % make % make test Modified: trunk/orca/configure.in ============================================================================== --- trunk/orca/configure.in (original) +++ trunk/orca/configure.in Mon May 5 08:30:26 2003 @@ -39,8 +39,8 @@ MATH_INTERVALSEARCH_VER=1.05 RRDTOOL_DIR=rrdtool-1.0.42 RRDTOOL_VER=1.000421 -STORABLE_DIR=Storable-2.06 -STORABLE_VER=2.06 +STORABLE_DIR=Storable-2.07 +STORABLE_VER=2.07 TIME_HIRES_DIR=Time-HiRes-1.46 TIME_HIRES_VER=1.46 Modified: trunk/orca/packages/Storable-2.07/ChangeLog ============================================================================== --- trunk/orca/packages/Storable-2.06/ChangeLog (original) +++ trunk/orca/packages/Storable-2.07/ChangeLog Mon May 5 08:30:26 2003 @@ -1,3 +1,10 @@ +Mon May 5 10:24:16 IST 2003 Abhijit Menon-Sen + + Version 2.07 + + Minor bugfixes (self-tied objects are now correctly stored, as + are the results of additions larger than INT_MAX). + Mon Oct 7 21:56:38 BST 2002 Nicholas Clark Version 2.06 Modified: trunk/orca/packages/Storable-2.07/MANIFEST ============================================================================== --- trunk/orca/packages/Storable-2.06/MANIFEST (original) +++ trunk/orca/packages/Storable-2.07/MANIFEST Mon May 5 08:30:26 2003 @@ -30,6 +30,3 @@ t/tied_items.t See if Storable works t/utf8.t See if Storable works t/utf8hash.t See if Storable works -t/Test/More.pm -t/Test/Simple.pm -t/Test/Builder.pm Modified: trunk/orca/packages/Storable-2.07/README ============================================================================== --- trunk/orca/packages/Storable-2.06/README (original) +++ trunk/orca/packages/Storable-2.07/README Mon May 5 08:30:26 2003 @@ -1,4 +1,4 @@ - Storable 2.06 + Storable 2.07 Copyright (c) 1995-2000, Raphael Manfredi Copyright (c) 2001,2002, Larry Wall Modified: trunk/orca/packages/Storable-2.07/Storable.pm ============================================================================== --- trunk/orca/packages/Storable-2.06/Storable.pm (original) +++ trunk/orca/packages/Storable-2.07/Storable.pm Mon May 5 08:30:26 2003 @@ -21,7 +21,7 @@ use AutoLoader; use vars qw($canonical $forgive_me $VERSION); -$VERSION = '2.06'; +$VERSION = '2.07'; *AUTOLOAD = \&AutoLoader::AUTOLOAD; # Grrr... # Modified: trunk/orca/packages/Storable-2.07/Storable.xs ============================================================================== --- trunk/orca/packages/Storable-2.06/Storable.xs (original) +++ trunk/orca/packages/Storable-2.07/Storable.xs Mon May 5 08:30:26 2003 @@ -10,9 +10,15 @@ #include #include -#include /* Perl's one, needed since 5.6 */ #include +#ifndef PATCHLEVEL +# include /* Perl's one, needed since 5.6 */ +# if !(defined(PERL_VERSION) || (SUBVERSION > 0 && defined(PATCHLEVEL))) +# include +# endif +#endif + #ifndef NETWARE #if 0 #define DEBUGME /* Debug mode, turns assertions on as well */ @@ -1954,7 +1960,7 @@ #else SvIV_please(sv); - if (SvIOK(sv)) { + if (SvIOK_notUV(sv)) { iv = SvIV(sv); goto integer; /* Share code above */ } @@ -2263,7 +2269,7 @@ /* * Storing in "random" order (in the order the keys are stored - * within the the hash). This is the default and will be faster! + * within the hash). This is the default and will be faster! */ for (i = 0; i < len; i++) { @@ -2424,14 +2430,14 @@ text = POPs; len = SvLEN(text); - reallen = strlen(SvPV(text,PL_na)); + reallen = strlen(SvPV_nolen(text)); /* * Empty code references or XS functions are deparsed as * "(prototype) ;" or ";". */ - if (len == 0 || *(SvPV(text,PL_na)+reallen-1) == ';') { + if (len == 0 || *(SvPV_nolen(text)+reallen-1) == ';') { CROAK(("The result of B::Deparse::coderef2text was empty - maybe you're trying to serialize an XS function?\n")); } @@ -2441,13 +2447,13 @@ PUTMARK(SX_CODE); TRACEME(("size = %d", len)); - TRACEME(("code = %s", SvPV(text,PL_na))); + TRACEME(("code = %s", SvPV_nolen(text))); /* * Now store the source code. */ - STORE_SCALAR(SvPV(text,PL_na), len); + STORE_SCALAR(SvPV_nolen(text), len); FREETMPS; LEAVE; @@ -2469,6 +2475,7 @@ static int store_tied(stcxt_t *cxt, SV *sv) { MAGIC *mg; + SV *obj = NULL; int ret = 0; int svt = SvTYPE(sv); char mtype = 'P'; @@ -2514,7 +2521,9 @@ * accesses on the retrieved object will indeed call the magic methods... */ - if ((ret = store(cxt, mg->mg_obj))) /* Extra () for -Wall, grr... */ + /* [#17040] mg_obj is NULL for scalar self-ties. AMS 20030416 */ + obj = mg->mg_obj ? mg->mg_obj : newSV(0); + if ((ret = store(cxt, obj))) return ret; TRACEME(("ok (tied)")); @@ -3366,7 +3375,7 @@ length -= sizeof (magicstr) - 1; } - WRITE(header, length); + WRITE( (unsigned char*) header, length); if (!cxt->netorder) { TRACEME(("ok (magic_write byteorder = 0x%lx [%d], I%d L%d P%d D%d)", @@ -4257,19 +4266,27 @@ static SV *retrieve_tied_scalar(stcxt_t *cxt, char *cname) { SV *tv; - SV *sv; + SV *sv, *obj = NULL; TRACEME(("retrieve_tied_scalar (#%d)", cxt->tagnum)); tv = NEWSV(10002, 0); SEEN(tv, cname); /* Will return if rv is null */ sv = retrieve(cxt, 0); /* Retrieve */ - if (!sv) + if (!sv) { return (SV *) 0; /* Failed */ + } + else if (SvTYPE(sv) != SVt_NULL) { + obj = sv; + } sv_upgrade(tv, SVt_PVMG); - sv_magic(tv, sv, 'q', Nullch, 0); - SvREFCNT_dec(sv); /* Undo refcnt inc from sv_magic() */ + sv_magic(tv, obj, 'q', Nullch, 0); + + if (obj) { + /* Undo refcnt inc from sv_magic() */ + SvREFCNT_dec(obj); + } TRACEME(("ok (retrieve_tied_scalar at 0x%"UVxf")", PTR2UV(tv))); @@ -4969,7 +4986,7 @@ */ sub = newSVpvn("sub ", 4); - sv_catpv(sub, SvPV(text, PL_na)); /* XXX no sv_catsv! */ + sv_catpv(sub, SvPV_nolen(text)); /* XXX no sv_catsv! */ SvREFCNT_dec(text); /* @@ -5008,16 +5025,17 @@ CROAK(("Unexpected return value from $Storable::Eval callback\n")); cv = POPs; if (SvTRUE(errsv)) { - CROAK(("code %s caused an error: %s", SvPV(sub, PL_na), SvPV(errsv, PL_na))); + CROAK(("code %s caused an error: %s", + SvPV_nolen(sub), SvPV_nolen(errsv))); } PUTBACK; } else { - cv = eval_pv(SvPV(sub, PL_na), TRUE); + cv = eval_pv(SvPV_nolen(sub), TRUE); } if (cv && SvROK(cv) && SvTYPE(SvRV(cv)) == SVt_PVCV) { sv = SvRV(cv); } else { - CROAK(("code %s did not evaluate to a subroutine reference\n", SvPV(sub, PL_na))); + CROAK(("code %s did not evaluate to a subroutine reference\n", SvPV_nolen(sub))); } SvREFCNT_inc(sv); /* XXX seems to be necessary */ Modified: trunk/orca/packages/Storable-2.07/t/integer.t ============================================================================== --- trunk/orca/packages/Storable-2.06/t/integer.t (original) +++ trunk/orca/packages/Storable-2.07/t/integer.t Mon May 5 08:30:26 2003 @@ -64,6 +64,8 @@ 0x7FFFFFFF, 0x80000000, 0x80000001, 0xFFFFFFFF, 0xDEADBEEF, # UV bounds $max_iv_p1, $max_uv_m1, $max_uv, $lots_of_9C, + # NV-UV conversion + 2559831922.0, ); plan tests => @processes * @numbers * 5; Modified: trunk/orca/packages/Storable-2.07/t/restrict.t ============================================================================== --- trunk/orca/packages/Storable-2.06/t/restrict.t (original) +++ trunk/orca/packages/Storable-2.07/t/restrict.t Mon May 5 08:30:26 2003 @@ -16,7 +16,7 @@ exit 0; } } else { - if ($[ < 5.005) { + if ($] < 5.005) { print "1..0 # Skip: No Hash::Util pre 5.005\n"; exit 0; # And doing this seems on 5.004 seems to create bogus warnings about Modified: trunk/orca/packages/Storable-2.07/t/st-dump.pl ============================================================================== --- trunk/orca/packages/Storable-2.06/t/st-dump.pl (original) +++ trunk/orca/packages/Storable-2.07/t/st-dump.pl Mon May 5 08:30:26 2003 @@ -39,6 +39,7 @@ %dump = ( 'SCALAR' => 'dump_scalar', + 'LVALUE' => 'dump_scalar', 'ARRAY' => 'dump_array', 'HASH' => 'dump_hash', 'REF' => 'dump_ref', Modified: trunk/orca/packages/Storable-2.07/t/tied.t ============================================================================== --- trunk/orca/packages/Storable-2.06/t/tied.t (original) +++ trunk/orca/packages/Storable-2.07/t/tied.t Mon May 5 08:30:26 2003 @@ -25,7 +25,7 @@ use Storable qw(freeze thaw); -print "1..22\n"; +print "1..23\n"; ($scalar_fetch, $array_fetch, $hash_fetch) = (0, 0, 0); @@ -207,3 +207,14 @@ ok 20, defined $ht; ok 21, $ht->{'x'} == 1; ok 22, $FAULT::fault == 2; + +{ + package P; + use Storable qw(freeze thaw); + use vars qw($a $b); + $b = "not ok "; + sub TIESCALAR { bless \$a } sub FETCH { "ok " } + tie $a, P; my $r = thaw freeze \$a; $b = $$r; + print $b , 23, "\n"; +} + From blair at orcaware.com Tue May 13 09:28:31 2003 From: blair at orcaware.com (Blair Zajac) Date: Tue, 13 May 2003 09:28:31 -0700 Subject: [Orca-checkins] rev 236 - in trunk/orca: . packages/Time-HiRes-1.46 packages/Time-HiRes-1.47 Message-ID: <200305131628.h4DGSVw0005362@orcaware.com> Author: blair Date: Tue May 13 09:28:27 2003 New Revision: 236 Added: trunk/orca/packages/Time-HiRes-1.47/ - copied from rev 235, trunk/orca/packages/Time-HiRes-1.46/ Removed: trunk/orca/packages/Time-HiRes-1.46/ Modified: trunk/orca/INSTALL trunk/orca/configure.in trunk/orca/packages/Time-HiRes-1.47/Changes trunk/orca/packages/Time-HiRes-1.47/HiRes.pm trunk/orca/packages/Time-HiRes-1.47/Makefile.PL Log: Upgrade Time::HiRes from 1.46 to 1.47. * INSTALL (Determine which Perl modules need compiling and installing): Update all references to Time::HiRes's version number from 1.46 to 1.47. * configure.in: Bump Time::HiRes's version number to 1.47. * packages/Time-HiRes-1.47: Renamed from packages/Time-HiRes-1.46. Directory contents updated from Time-HiRes-1.47.tar.gz. Modified: trunk/orca/INSTALL ============================================================================== --- trunk/orca/INSTALL (original) +++ trunk/orca/INSTALL Tue May 13 09:28:27 2003 @@ -176,7 +176,7 @@ Math::IntervalSearch >= 1.05 >= 1.05 1.05 RRDs >= 1.000421 >= 1.0.42 1.0.42 Storable >= 2.07 >= 2.07 2.07 - Time::HiRes Not required by Orca 1.46 + Time::HiRes Not required by Orca 1.47 All seven of these modules are included with the Orca distribution in the packages directory. When you configure Orca in step 3), @@ -277,10 +277,10 @@ Time::HiRes - http://www.perl.com/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.46.tar.gz + http://www.perl.com/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.47.tar.gz - % gunzip -c Time-HiRes-1.46.tar.gz | tar xvf - - % cd Time-HiRes-1.46 + % gunzip -c Time-HiRes-1.47.tar.gz | tar xvf - + % cd Time-HiRes-1.47 % perl Makefile.PL % make % make test Modified: trunk/orca/configure.in ============================================================================== --- trunk/orca/configure.in (original) +++ trunk/orca/configure.in Tue May 13 09:28:27 2003 @@ -41,8 +41,8 @@ RRDTOOL_VER=1.000421 STORABLE_DIR=Storable-2.07 STORABLE_VER=2.07 -TIME_HIRES_DIR=Time-HiRes-1.46 -TIME_HIRES_VER=1.46 +TIME_HIRES_DIR=Time-HiRes-1.47 +TIME_HIRES_VER=1.47 AC_SUBST(COMPRESS_ZLIB_DIR) AC_SUBST(DATA_DUMPER_DIR) Modified: trunk/orca/packages/Time-HiRes-1.47/Changes ============================================================================== --- trunk/orca/packages/Time-HiRes-1.46/Changes (original) +++ trunk/orca/packages/Time-HiRes-1.47/Changes Tue May 13 09:28:27 2003 @@ -1,5 +1,11 @@ Revision history for Perl extension Time::HiRes. +1.47 + - do not use -lrt in Linux (from March Lehmann) + - unnecessary (nanosleep is in libc anyway) + - harmful (-lrt slows down execution) + - incompatible (with many distributions' pthreads) + 1.46 - do not create files in blib directories under core (perl change #19160, from rgs) Modified: trunk/orca/packages/Time-HiRes-1.47/HiRes.pm ============================================================================== --- trunk/orca/packages/Time-HiRes-1.46/HiRes.pm (original) +++ trunk/orca/packages/Time-HiRes-1.47/HiRes.pm Tue May 13 09:28:27 2003 @@ -15,7 +15,7 @@ d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer d_nanosleep); -$VERSION = '1.46'; +$VERSION = '1.47'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; Modified: trunk/orca/packages/Time-HiRes-1.47/Makefile.PL ============================================================================== --- trunk/orca/packages/Time-HiRes-1.46/Makefile.PL (original) +++ trunk/orca/packages/Time-HiRes-1.47/Makefile.PL Tue May 13 09:28:27 2003 @@ -225,8 +225,8 @@ $LIBS = ['-lc'] if $Config{'osname'} =~ /dynixptx/i; # For nanosleep - push @$LIBS, '-lrt' unless $Config{'osname'} =~ /irix/; - push @$LIBS, '-lposix4' ; + push @$LIBS, '-lrt' unless $Config{'osname'} =~ /^(?:irix|linux)$/; + push @$LIBS, '-lposix4'; my @goodlibs;