Subject: CVS commit: pkgsrc/time/p5-Time-HiRes
From: David Brownlee
Date: 2006-02-15 23:53:59
Message id: 20060215225359.44F1B2DA27@cvs.netbsd.org

Log Message:
Update p5-Time-Hires to 1.87

1.87	[2006-02-13]
	- [rt.cpan.org #17442] 'make test' frequently fails under
	  Cygwin Perl v5.8.8, reported and patched by J. R. Hedden
	  (two race condition bugs in the END block in the case the
	   main process dies before the timer process, unearthed
	   by a bug in Cygwin ualarm)

1.86	[2005-12-17]
	- HiRes.t:s/ok 32/ok 33/, from Dominic Dunlop
	- tighten up the clock() test marginally by requiring non-negative
	- clock_nanosleep() and clock() doc tweaks

1.85	[2005-12-16]
	- the interface to clock_nanosleep() is more natural
	  when it is like (hires) time() (instead of like nanosleep),
	  and the .xs implementation of clock_nanosleep() in 1.84
	  was broken anyway
	- the semantics of clock() are not quite so silly as I thought,
	  but still somewhat odd, documented as such
	- additional enhancements to the clock() documentation
	- add test for clock_nanosleep() (I cannot test this
	  since none of my systems have the function)
	- add test for clock()

1.84	[2005-12-16]
	- add clock() which returns the processor time in
	  (floating point) seconds since an arbitrary era
	- add clock_nanosleep() which suspends the current
	  thread until either absolute time or for relative time
	- [rt.cpan.org #16486] printf missing value in HiRes.t
	- add constants CLOCKS_PER_SEC, CLOCK_SOFTTIME, TIMER_ABSTIME
	- tiny typo fixes

1.83	[2005-11-19]
	- has_symbol() was wrong since e.g. ITIMER_VIRTUAL is exported
	  via @EXPORT_OK even when it is not available.  This is heinous.
	  @EXPORT_OK should be determined at Makefile.PL time.
	- be more lenient is testing clock_gettime(): allow more slop,
	  and retry up to three times, sleeping a random nap between
	  the retries
	- human months are one-based (noticed by Anton Berezin)

1.82	[2005-10-06]
	- CLOCK_REALTIME is an enum value (of the clockid_t enum)
	  in HP-UX (and might be so elsewhere, too), debugged by
	  H. Merijn Brand
	- include const-c.inc as late as possible (from Randy Kobes,
	  [rt.cpan.org #15552] to avoid undefined usleep() on Win32

1.81	[2005-11-05]
	- try to be more robust and consistent in the detection of
          CLOCK_REALTIME and ITIMER_VIRTUAL in HiRes.t: the proper
	  way is

		sub has_symbol {
		    my $symbol = shift;
		    eval 'import Time::HiRes qw($symbol)';
		    return 0 unless $@ eq '';
		    return exists ${"Time::HiRes::$symbol"};
		}

	  and then use

		&FOO_BAR

	  in the test.  All these moves are needed because

	  1) one cannot directly do eval 'Time::HiRes::FOO_BAR'
	     because FOO_BAR might have a true value of zero
	     (or in the general case an empty string or even undef)

	  2) In case FOO_BAR is not available in this platform,
	     &FOO_BAR avoids the bareword warning

	- wait more (1.5 seconds instead of 0.1) for the CLOCK_REALTIME test
	  but expect the 'customary' slop of 0.20 instead of 0.25
	- fixed inside a comment HAS_POLL -> TIME_HIRES_NANOSLEEP
	- at the end of HiRest.t tell how close we were to termination

1.80	[2005-11-04]
	- Gisle noticed a mistake (using HAS_NANOSLEEP) in 1.79

1.79	[2005-11-03]
	- try nanosleep for emulating usleep -- may help in some weird
	  embedded realtime places which have nanosleep but neither usleep
	  nor select nor poll (doesn't have to be weird embedded realtime
	  place, though -- in many places usleep is nanosleep anyway)
	- try poll for emulating usleep -- this may help some obscure/old
	  SVR4 places that have neither usleep nor select
	- a redundant test guard in HiRes.t

1.78	[2005-11-03]
	- ITIMER_VIRTUAL detection in HiRes.t had problems (that we cannot
	  in the general case fail already at 'use' phase is suboptimal)
	- fixes to the documentation of clock_gettime() and clock_getres()

1.77	[2005-11-03]
	- add support for the POSIX clock_gettime() and clock_getres(),
	  if available, either as library calls or as syscalls
	- be more defensive about missing functionality: break out
	  early (during 'use') if no e.g. clock_getres() is available,
	  and protect our back by trapping those cases also in HiRes.xs
	- the test added in 1.76 could cause an endless loop e.g. in Solaris,
	  due to mixing of sleep() and alarm() (bad programmer, no cookie!)

1.76	[2005-10-22]
	- testing for nanosleep had wrong logic which caused nanosleep
	  to become undefined for e.g. Mac OS X
	- added a test for a core dump that was introduced by Perl 5.8.0
	  safe signals and was fixed for the time of 5.8.1 (one report of
	  the core dump was [perl #20920]), the test skipped pre-5.8.1.
	- *cough* s/unanosleep/nanosleep/g; *cough*

1.75	[2005-10-18]
	- installation patch from Gisle Aas: in Perls 5.8.x and later
	  use MakeMaker INSTALLDIRS value of 'perl' instead of 'site'.

1.74	[2005-09-19]
	- [cpan #14608] Solaris 8 perl 5.005_03 File::Spec module does not have method \ 
rel2abs
	  (the workaround is not to use rel2abs, should not be necessary)
	- [cpan #14642] U2time wrongly exported on the C API
	  (patch supplied by the reporter, SALVA@cpan.org)
	- add release dates to Changes

1.73	[2005-08-16]
	- Time::HiRes::nanosleep support for Solaris [PATCH]
	  (POSIX::uname() not available if building with core perl,
	   from Gisle Aas, via perl5-porters, perl change #25295)

1.72	[2005-07-01]
	- going back to the 1.68 loader setup (using DynaLoader)
	  since too many weird things starting breaking
	- fix a typo in José Auguste-Etienne's name

1.71	[2005-06-28]
	- a thinko in the nanosleep() detection
	- move more changes stuff from the README to Changes
	- add -w to the Makefile.PL

1.70	[2005-06-26]
	- oops in 1.69 about @ISA (not affecting anything but silly)
	- add copyright 2005 to HiRes.pm
	- add copyright and license to HiRes.xs
	- add copyrights 2003, 2004, 2005 to README

1.69	[2005-06-25]
	- actually run a test for nanosleep
	  (if there is no $Config{d_nanosleep}) since e.g. in AIX 4.2
	  it seems that one can link in nanosleep() but then calling
	  it fails instantly and sets errno to ENOSYS (Not implemented).
	  This may be fixable in the AIX case by figuring out the right
	  (realtime POSIX?) libs and whatnot, but in the general case
	  running a real test case is better.  (Of course, this change
	  will no doubt run into portability problems because of the
	  execution step...)  Note that because of hysterical raisins
	  most Perls do NOT have $Config{d_nanosleep} (scanning for
	  it by Configure would in many platforms require linking in
	  things like -lrt, which would in many platforms be a bad idea
	  for Perl itself).
	  (from José Auguste-Etienne)
	- support XSLoader also since it's much faster
	  (from Alexey Tourbin)
	- add SEE ALSO (BSD::Resource and Time::TAI64)

1.68	[2005-05-14]
	- somehow 1.67 had a lot of doubled lines (a major cut-and-paste
	  error suspected), but miraculously it still worked since the
	  doubling took place below the __END__ token
	- undef Pause() before defining it to avoid redefinition warnings
	  during compilation in case perl.h had already defined Pause()
	  (part of perl change #24271)
	- minor doc tweaks

1.67	[2005-05-04]
	- (internal) don't ignore the return value of gettimeofday()
	- (external) return undef or an empty if the C gettimeofday() fails
	  (affects Time::HiRes gettimeofday() and the hires time())

Files:
RevisionActionfile
1.21modifypkgsrc/time/p5-Time-HiRes/Makefile
1.12modifypkgsrc/time/p5-Time-HiRes/distinfo