| Revision history for the Perl extension Time::HiRes. |
| |
| 1.9725 [2012-02-01] |
| - Correct stack discipline in stat(), which was screwing up list |
| operations in expressions containing calls to it [rt.cpan.org |
| #72926]. |
| - Add missing OUTPUT sections to the XS code [rt.cpan.org #70930]. |
| - Skip itimer tests on GNU/Hurd, which has the API but lacks |
| the implementation [rt.cpan.org #72754]. |
| - Fix a doubled word in the documentation [rt.cpan.org #72763]. |
| |
| 1.9724 [2011-06-09] |
| - Correct XS parameter list, and therefore prototype, for |
| unimplemented-on-this-platform version of clock_nanosleep() |
| [rt.cpan.org #68700]. |
| - Declare package variables with "our" rather than "use vars". |
| - Corresponding to "our" usage, check for minimum Perl version |
| 5.006. |
| - Declare module dependencies. |
| |
| 1.9723 [2011-06-07] |
| - Remove $ENV{PERL_CORE} logic from test suite, which is no |
| longer desired in the core. |
| - Convert test suite to use Test::More. |
| - Factor out watchdog code from test suite. |
| - In test suite, be consistent about using fully-qualified form |
| of function names. |
| - Divide test suite into feature-specific scripts. |
| - Make ualarm timing test less vulnerable to delay-induced false |
| failure, from Dave Mitchell. |
| |
| 1.9722 [2011-05-18] |
| - Update for changes in build process in the core, patches |
| from BinGOs [rt.cpan.org #58858] and Craig Berry [rt.cpan.org |
| #63363]. |
| - Fix broken linkage on Windows with gcc 3.4 seen with ActivePerl, |
| report from Christian Walde [rt.cpan.org #61648], fix derived |
| from Vincent Pit. |
| - Jump through hoops to avoid compiler warnings. |
| |
| 1.9721 [2010-03-17] |
| - Address [rt.cpan.org #54196] alarm and ularm return values are bogus, |
| additional fix from Gisle Aas |
| - Address [rt.cpan.org #55665] "Bad plan" on Windows, |
| report and fix from Jan Dubois |
| |
| 1.9720 [2010-02-14] |
| - Address [rt.cpan.org #54196] alarm and ularm return values are bogus, |
| report and fix from Nicholas Clark |
| |
| 1.9719 [2009-01-04] |
| - As with QNX, Haiku has the API of interval timers but not |
| the implementation (bleadperl change #34630), hence skip |
| the tests, via David Mitchell. |
| |
| 1.9718 [2008-12-31] |
| - .xs code cleanup from Albert Dvornik |
| - in the #39 and #40 do not do us I did, mixing alarm() and |
| sleep(). Now instead spin until enough time has passed. |
| |
| 1.9717 [2008-12-30] |
| - Skip the tests added in 1.9716 (#39, #40) if there's no subsecond |
| alarm capability, like with the older subsecond alarm tests |
| |
| 1.9716 [2008-12-26] |
| - Change documentation to agree with reality: there are |
| no interval timers in Win32. |
| - Address [rt.cpan.org #35899] (problem in subsecond sleeps), |
| add two tests to guard against this problem |
| - Address [rt.cpan.org #36600] 'Division by zero' failure in test suite |
| - Address [rt.cpan.org #37340] [PATCH] Address timer process in test |
| - Address [rt.cpan.org#40311 ] bad implementation of hrt_usleep |
| with TIME_HIRES_NANOSLEEP |
| |
| 1.9715 [2008-04-08] |
| - Silly me: Makefile.PL does need to accept arguments other than mine. |
| Some testing frameworks obviously do this. |
| - Add retrying for tests 34..37, which are the most commonly |
| failing tests. If this helps, consider extending the retry |
| framework to all the tests. [Inspired by Slaven Rezic, |
| [rt.cpan.org #34711] Occasional failures of test 35 or 36 (FreeBSD)] |
| |
| 1.9714 [2008-04-07] |
| - Under Perl 5.6.* NVgf needs to be "g", reported by Zefram, |
| it seems that ppport.h 3.13 gets this wrong. |
| - remove the check in Makefile.PL for 5.7.2, shouldn't be |
| (a) necessary (b) relevant |
| - add logic to Makefile.PL to skip configure/write Makefile |
| step if the "xdefine" file already exists, indicating that |
| the configure step has already been done, one can still |
| force (re)configure by "perl Makefile.PL configure", |
| or of course by "make clean && perl Makefile.PL". |
| |
| 1.9713 [2008-04-04] |
| - for alarm() and ualarm() [Perl] prefer setitimer() [C] |
| instead of ualarm() [C] since ualarm() [C] cannot portably |
| (and standards-compliantly) be used for more than 999_999 |
| microseconds (rt.cpan.org #34655) |
| - it seems that HP-UX has started (at least in 11.31 ia64) |
| #defining the CLOCK_REALTIME et alia (instead of having |
| them just as enums) |
| - document all the diagnostics |
| |
| 1.9712 [2008-02-09] |
| - move the sub tick in the test file back to where it used to be |
| - in the "consider upgrading" message recommend at least Perl 5.8.8 |
| and make the message to appear only for 5.8.0 since 5.8.1 and |
| later have the problem fixed |
| - VOS tweak for Makefile (core perl change #33259) |
| - since the test #17 seems to fail often, relax its limits a bit |
| |
| 1.9711 [2007-11-29] |
| - lost VMS test skippage from Craig Berry |
| - reformat the test code a little |
| |
| 1.9710 [2007-11-29] |
| - I got the sense of the QNX test the wrong way in an attempt |
| to generalize it for future |
| |
| 1.9709 [2007-11-28] |
| - casting fixes from Robin Barker for g++ and 64bitint |
| - in QNX skip the itimer tests because though the API |
| is there, the implementation isn't, from Matt Kraai |
| - raise the dead man timer to 180 seconds for really |
| slow/busy systems |
| - elaborate the UTF-8 locale warning from Makefile.PL |
| |
| 1.9708 [2007-10-05] |
| - [rt.cpan.org #29747]: Build failure with perl 5.005_05 |
| Fixed by regenerating the ppport.h using Devel::PPPort 3.13. |
| |
| 1.9707 [2007-02-27] |
| - t/HiRes.t failed in Perl 5.6.2, |
| "action is not of type POSIX::SigAction at t/HiRes.t line 318", |
| reported and fixed by Anton Berezin, the reason was faulty |
| use of sigaction() when restoring the old action. |
| |
| 1.9706 [2007-02-25] |
| - with bleadperl in VMS the HiRes.t overrun the maximum number |
| of deferred signals because the libc SIGALRM was not strong |
| enough to interrupt select(), and select() got restarted every |
| time, solution is to use POSIX::SigAction if available. |
| A fix from Craig Berry (not 100% there, but helps). |
| - allow for more measuring noise for ualarm() tests 35..37 |
| |
| 1.9705 [2007-02-06] |
| - nanosleep() and clock_nanosleep() detection and use were |
| quite broken; in Linux -lrt needed; fixes from Zefram |
| - [internal] slightly cleaner building of $DEFINE in Makefile.PL, |
| should avoid double/conflicting -D flags |
| |
| 1.9704 [2007-01-01] |
| - allow 10% of slop in test #14 (testing difference between |
| CORE::time() and Time::HiRes::time()), there seem to be often |
| transient failures from Perl smoke builds on this test |
| - small pod tweaks |
| |
| 1.9703 [2006-12-08] |
| - use int main(int argc, char **argv) consistently in Makefile.PL, |
| should help with |
| [rt.cpan.org #23868] nanosleep not detected under Mac OS 10.3.9 starting with Time::HiRes 1.96 |
| - if someone still has the locale-broken Perl 5.8.0, |
| suggest that they upgrade their Perl |
| |
| 1.9702 [2006-12-06] |
| - restore the -DATLEASTFIVEOHOHFIVE, Win32 needed it still |
| |
| 1.9701 [2006-12-04] |
| - upgrade to ppport.h 3.10_02 |
| - remove the -DATLEASTFIVEOHOHFIVE |
| - use the ppport.h PL_ppaddr, PL_statcache, PL_laststatval |
| - use the ppport.h aTHXR for calling Perl stat() |
| - switch into four-digit version since 2.0 is coming up |
| awfully fast but not feeling like a major rewrite |
| |
| 1.97 [2006-11-30] |
| - 1.95 broke building in Win32 (since pp_stat is not exported), |
| figured out how to call an op directly in 5.005 (use Perl_ppaddr |
| instead of PL_ppaddr) |
| - backport to Perl 5.004_05 (requires using statcache |
| and laststatval instead of PL_statcache and PL_laststatval) |
| (also checked to work in 5.005_04, 5.6.1, and 5.8.8 with threads) |
| |
| 1.96 [2006-11-30] |
| - 1.95 broke builds for threaded Perls, rt.cpan.org tickets: |
| [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1 |
| [rt.cpan.org #23712] Time-HiRes 1.95 Fails make on AIX 5.2 with Perl 5.8.8 |
| [rt.cpan.org #23730] Time::HiRes 1.95 fails make on MacOS X 10.3.9/perl 5.8.8 |
| - use main() prototype consistently in Makefile.PL |
| |
| 1.95 [2006-11-29] |
| - integrate core change #29180: Silence VC++ compiler warnings |
| from Steve Hay |
| - do not use PL_ppaddr in stat() because that is not available |
| in Perl 5.005_04 |
| - regenerate fallback/*.inc for older Perls without |
| ExtUtils::Constant because of d_hires_stat, resolves |
| [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1 |
| - Make Makefile.PL more defensive against false PERL_CORE |
| |
| 1.94 [2006-10-16] |
| - file timestamps oddities seen: the atime and mtime |
| can be out of sync (modify first and read second can leave |
| atime < mtime) and mtime can be subsecond while atime is not. |
| So make the test more forgiving. |
| |
| 1.93 [2006-10-15] |
| - the ualarm() tests (34-37) assumed that ualarm(N) |
| could never alarm in less than N seconds, widened |
| the acceptable relative range to 0.9..1.5. Addresses |
| [rt.cpan.org #22090] and [rt.cpan.org #22091]. |
| |
| - skip the stat() tests in cygwin and win32, because |
| if run on FAT the timestamp granularity is only 2 seconds. |
| Any good way to detect (cygwin or win32) whether we are |
| being run on NTFS or anywhere with better timestamps? |
| Addresses [rt.cpan.org #22089] and [rt.cpan.org #22098]. |
| |
| 1.92 [2006-10-13] |
| - scan for subsecond resolution timestamps in struct stat, |
| some known possibilities: |
| |
| (1) struct timespec st_atimespec; |
| st_atimespec.tv_nsec; |
| (2) time_t st_atime; |
| long st_atimensec; |
| (3) time_t st_atime; |
| int st_atime_n; |
| (4) timestruc_t st_atim; |
| st_atim.tv_nsec |
| (5) time_t st_atime; |
| int st_uatime; |
| |
| If something like this is found, one can do |
| |
| use Time::HiRes; |
| my @stat = Time::HiRes::stat(); |
| |
| or even override the standard stat(): |
| |
| use Time::HiRes qw(stat); |
| |
| to get the stat() timestamps |
| |
| my ($atime, $mtime, $ctime) = @stat[8, 9, 10]; |
| |
| with subsecond resolution (assuming both the operating |
| system and the filesystem support that kind of thing). |
| |
| Contributions for more systems (especially non-UNIX, |
| e.g. but not limited to: Win32, VMS, OS/2) gladly accepted. |
| (also more UNIX variants welcome: HP-UX? IRIX?) |
| |
| Thanks to H.Merijn Brand, John Peacock, and Craig |
| Berry for brave beta testing. |
| |
| 1.91 [2006-09-29] |
| - ualarm() in SuSE 10.1 was overflowing after ~4.2 seconds, |
| possibly due to a glibc bug/feature (suspected overflow at |
| 2**32 microseconds?), workaround by using the setitimer() |
| implementation of ualarm() if either useconds or |
| interval > 999_999 (this case seems to vary between systems: |
| are useconds more than 999_999 for ualarm() defined or not) |
| Added more ualarm() tests to catch various overflow points, |
| hopefully no problems in various platforms. |
| (The problem report by Mark Seger and Jon Paul Sullivan of HP.) |
| |
| 1.90 [2006-08-22] |
| - tweak still needed for Const64(), from Jerry Hedden |
| - get a freshly generated ppport.h |
| - update Copyright years |
| |
| 1.89 [2006-08-22] |
| - Const64() already appends an 'LL' (or i64), so provide LL and i64 |
| forms for the IV_1E[679] (effects Win32 and Cygwin), reported by |
| Jerry Hedden. |
| - the Changes entry for 1.88 talked about [IN]V_1[679], |
| missing the 'E'. |
| |
| 1.88 [2006-08-21] |
| - clean up the g++ warnings in HiRes.xs, all of them |
| about mixing integer and floating point, introduce |
| constants IV_1E[679] and NV_1E[679] |
| |
| 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()) |
| |
| 1.66 [2004-12-19] |
| - add nanosleep() |
| - fix the 'hierachy' typo in Makefile.PL [rt.cpan.org #8492] |
| - should now build in Solaris [rt.cpan.org #7165] (since 1.64) |
| - should now build in Cygwin [rt.cpan.org #7535] (since 1.64) |
| - close also [rt.cpan.org #5933] "Time::HiRes::time does not |
| pick up time adjustments like ntp" since ever reproducing it |
| (and therefore verifying a possible fix) in the same environment |
| has become rather unlikely |
| |
| 1.65 [2004-09-18] |
| - one should not mix u?alarm and sleep (the tests modified |
| by 1.65, #12 and #13, hung in Solaris), now we just busy |
| loop executing an empty block |
| - in the documentation underline the unspecificity of mixing |
| sleeps and alarms |
| - small spelling fixes |
| |
| 1.64 [2004-09-16] |
| - regenerate ppport.h with Devel::PPPort 3.03, |
| now the MY_CXT_CLONE is defined in ppport.h, |
| we no more need to do that. |
| |
| - the test #12 would often hang in sigsuspend() (at least that's |
| where Mac OS X' ktrace shows it hanging). With the sleep()s |
| changed to sleep(1)s, the tests still pass but no hang after |
| a few hundred repeats. |
| |
| 1.63 [2004-09-01] |
| - Win32 and any ithread build: ppport.h didn't define |
| MY_CXT_CLONE, which seems to be a Time-HiRes-ism. |
| |
| 1.62 [2004-08-31] |
| - Skip testing if under PERL_CORE and Time::HiRes has not |
| been Configured (from Marcus Holland-Moritz, core change |
| #23246) |
| - Use ppport.h generated by Devel::PPPort 3.01, |
| allowing cutting away our own portability code. |
| - Don't use $ENV{PERL_CORE} for < 5.6.0. |
| - Don't use "for my $i" for <= 5.003. |
| - Don't use Pause() for <= 5.003. |
| - Can't use newSVpvf for <= 5.003. |
| (most of the changes from Marcus) |
| |
| 1.61 [2004-08-21] |
| - Win32: reset reading from the performance counters every |
| five minutes to better track wall clock time (thanks to |
| PC timers being often quite bad), should help long-running |
| programs. |
| |
| 1.60 [2004-08-15] |
| - Win32: Patch from Steve Hay |
| [PATCH] Re: [perl #30755] [Win32] Different results from Time::HiRes::gettimeofdayunder the debugger |
| to [perl #30755] reported by Nigel Sandever |
| |
| - Cygwin: Use the Win32 recalibration code also in Cygwin if the |
| <w32api/windows.h> APIs are available. Cygwin testing by |
| Yitzchak Scott-Thoennes. |
| |
| - Solaris: use -lposix4 to get nanosleep for Solaris 2.6, |
| after that keep using -lrt, patch from Alan Burlison, |
| bug reported in [cpan #7165] |
| |
| 1.59 [2004-04-08] |
| - Change the Win32 recalibration limit to 0.5 seconds and tweak |
| the documentation to blather less about the gory details of the |
| Win32 implementation and more about the complications in general |
| of meddling with the system clock. |
| |
| 1.58 [2004-04-08] |
| - Document the 1.57 change better. |
| |
| 1.57 [2004-07-04] |
| - Win32/Cygwin/MinGW: if the performance counter drifts by more |
| than two seconds from the system clock (due to ntp adjustments, |
| for example), recalibrate our internal counter: from Jan Dubois, |
| based on [cpan #5933] by Jerry D. Hedden. |
| |
| 1.56 [2004-29-02] |
| - Give a clearer message if the tests timeout (perl change #22253) |
| - Don't use /tmp or its moral equivalents (perl bug #15036, |
| perl change #22258) |
| |
| 1.55 [2004-01-14] |
| - Windows: mingw32 patch from Mike Pomraning (use Perl's Const64() |
| instead of VC-specific i64 suffix) |
| |
| 1.54 [2003-12-31] |
| - Solaris: like Tru64 (dec_osf) also Solaris need -lrt for nanosleep |
| |
| 1.53 [2003-12-30] |
| - Windows: higher resolution time() by using the Windows |
| performance counter API, from Jan Dubois and Anton Shcherbinin. |
| The exact new higher resolution depends on the hardware, |
| but it should be quite a bit better than using the basic |
| Windows timers. |
| |
| 1.52 [2003-10-28] |
| - In AIX (v?) with perl 5.6.1 the HiRes.t can hang after |
| the subtest 18. No known analysis nor fix, but added |
| an alarm (that requires fork() and alarm()) to the test. |
| |
| 1.51 [2003-09-22] |
| - doc tweaks from mjd (perl change #20456) |
| - NCR MP-RAS hints file added (svr4.pl) (perl change #21249) |
| |
| 1.50 [2003-08-02] |
| - add a message (for non-core builds) to Makefile.PL about |
| the LC_ALL=C workaround |
| - &Time::HiRes::d_nanosleep was broken (perl change #20131) |
| - the nanosleep() probe was broken (perl change #20061) |
| - use existence instead of definedness for feature probes |
| (perl change #20043) |
| - MPE/iX tweak (perl change #20042) |
| - do not use HAS_NANOSLEEP (perl change #19898) |
| |
| 1.49 [2003-06-23] |
| - UVuf for non-IVSIZE platforms (from Keiichiro Nagano) |
| - OS/2 can always mix subsecond sleeps with signals |
| (part of perl change #19789) |
| |
| 1.48 [2003-06-04] |
| - workaround for buggy gcc 2.95.3 in openbsd/sparc64 |
| (perl change #19592) |
| |
| 1.47 [2003-05-03] |
| - do not use -lrt in Linux (from March Lehmann, perl change #19449) |
| - unnecessary (nanosleep is in libc anyway) |
| - harmful (-lrt slows down execution) |
| - incompatible (with many distributions' pthreads) |
| |
| 1.46 [2003-04-25] |
| - do not create files in blib directories under core |
| (perl change #19160, from rgs) |
| - detypo s/VTLARM/VTARLM/ (perl change #19328, from mjd) |
| |
| 1.45 [2003-04-01] |
| - guarantee that $xdefine in HiRes.t is always defined |
| (perl change #19109, from IlyaZ) |
| - a cleaner way to detect PERL_CORE (perl change #19111, |
| from IlyaZ) |
| |
| 1.44 [2003-03-30] |
| - add hints/irix.pl to turn off overly POSIX flags that |
| cause hide struct timespec to be hidden (and compilation |
| to fail) (bleadperl change #19085) |
| - documentation tweaks |
| |
| 1.43 [2003-03-11] |
| - add c:/temp to the list of temp directories to probe |
| so that cygwin (and win*?) builds are happy. This was |
| needed at least in my cygwin 1.3.20/w2k setup. |
| |
| 1.42 [2003-01-07] |
| - modernize the constants code (from Nicholas Clark) |
| |
| 1.41 [2003-01-03] |
| - At some point the ability to figure our the correct incdir |
| for EXTERN.h (either a core perl build, or an installed perl) |
| had broken (which lead into all test compiles failing with |
| a core perl build, but thanks to the robustness of Makefile.PL |
| nothing of this was visible). The brokenness seemed to be |
| caused by $ENV{PERL_CORE} not being on for core builds? |
| Now stole a trick from the Encode that sets $ENV{PERL_CORE} |
| right, and both styles of build should work again. |
| |
| 1.40 [2003-01-03] |
| - Nicholas Clark noticed that the my_catdir() emulation function |
| was broken (which means that we didn't really work for Perls |
| 5.002 and 5.003) |
| - inspired by fixing the above made the whole Makefile.PL -w |
| and strict clean |
| - tightened up the Makefile.PL output, less whitespace |
| |
| 1.39 [2003-10-20] |
| - fix from Craig Berry for better building in VMS with PERL_CORE |
| |
| 1.38 [2003-10-13] |
| - no functional changes |
| - move lib/Time/HiRes.pm as Hires.pm |
| - libraries scanning was slightly broken (always scanned |
| for a library even when $Config{libs} already had it) |
| |
| 1.37 [2003-09-23] |
| - Ray Zimmerman ran into a race condition in Mac OS X. |
| A 0.01-second alarm fired before the test expected. |
| The test first slept indefinitely (blocking for signals) |
| and only after that tested for the signal having been sent. |
| Since the signal had already been sent, the test #12 never |
| completed. The solution: test first, then block. |
| - default to being silent on all probing attempts, set the |
| environment variable VERBOSE to a true value to see the |
| details (the probing command and the possible errors) |
| |
| 1.36 [2003-09-12] |
| - do not clear MAN3PODS in Makefile.PL (Radoslaw Zielinski) |
| - INSTALLDIRS => 'perl' missing which means that Time::HiRes |
| cannot be upgraded from CPAN to override the 5.8.0 version |
| (Guido A. Ostkamp) |
| - Time::HiRes 1.35 could not be dropped as-is to bleadperl |
| because the include directories did not adjust themselves |
| if $ENV{PERL_CORE} (Hugo van der Sanden) |
| - add documentation about the restart of select() under alarm() |
| |
| 1.35 [2003-08-24] |
| - small documentation tweaks |
| |
| |
| 1.34 [2003-08-22] |
| - better VMS operation (Craig Berry) |
| |
| 1.33 [2003-08-20] |
| - our time machine is accelerating: now works with Perl 5.004_01 |
| (tried with 5.003_07 and 5.002 but I get segmentation faults |
| from running the Makefile.PL with those in Tru64 4.0D) |
| |
| 1.32 [2003-08-20] |
| - backward compatibility (pre-5.6.0) tweaks: |
| - no XSLoader in 5.00503, use DynaLoader instead |
| - no SvPV_nolen, either |
| - no PerlProc_pause(), either |
| - now tested with 5.00404 and 5.00503 |
| - Makefile.PL requires 5.00404 (no more 5.002) |
| - use nanosleep instead of usleep, if it is available (Wilson Snyder) |
| (this means that one can mix subsecond sleeps with alarms) |
| - because of nanosleep we probe for -lrt and -lposix4 |
| - the existence of getitimer/nanosleep/setitimer/ualarm/usleep |
| is available by exportable constants Time::HiRes::d_func |
| (since older Perl do not have them in %Config, and even |
| 5.8.0 does not probe for nanosleep) |
| |
| 1.31 [2003-08-19] |
| - backward compatibility (pre-5.6.1) tweaks: |
| - define NV if no NVTYPE |
| - define IVdf if needed (note: the Devel::PPPort |
| in 5.8.0 does not try hard hard enough since |
| the IVSIZE might not be defined) |
| - define NVgf if needed |
| - grab the typemap from 5.8.0 for the NV stuff |
| |
| 1.31 and 1.32 add more backward compatibility (now all the way |
| back to Perl 5.00404), and using nanosleep() (if available) for |
| subsecond sleeps. |
| |
| 1.30 [2003-08-16] |
| |
| - release 1.29_02 as 1.30 |
| |
| 1.30 adds all the changes made during the Perl 5.6->5.7->5.8 |
| development cycle. Most notably portability across platforms has been |
| enhanced, and the interval timers (setitimer, getitimer) have been |
| added. Note that the version of Time::HiRes that is included in Perl |
| 5.8.0 calls itself 1.20_00, but it is equivalent to this Time::HiRes |
| version. Note also that in 1.30 Wegscheid turns over the maintenance |
| to Jarkko Hietaniemi. |
| |
| 1.29_02 [2003-08-16] |
| |
| - fix a silly unclosed comment typo in HiRes.xs |
| - document and export REALTIME_REALPROF (Solaris) |
| |
| 1.29_01 [2003-08-16] |
| |
| - only getitimer(ITIMER_REAL) available in Cygwin and Win32 |
| (need to patch this also in Perl 5.[89]) |
| - remove CVS revision log from HiRes.xs |
| |
| 1.29_00 [2003-08-14] |
| |
| The following numbered patches refer to the Perl 5.7 changes, |
| you can browse them at http://public.activestate.com/cgi-bin/perlbrowse |
| |
| - 17558: Add #!./perl to the .t |
| - 17201: linux + usemorebits fix, from Rafael Garcia-Suarez |
| - 16198: political correctness, from Simon Cozens |
| - 15857: doc tweaks, from Jarkko Hietaniemi |
| - 15593: optimization in .xs, from Paul Green |
| - 14892: pod fixes, from Robin Barker |
| - 14100: VOS fixes, from Paul Green |
| - 13422: XS segfault, from Marc Lehmann |
| - 13378: whether select() gets restarted on signals, depends |
| - 13354: timing constraints, again, from Andy Dougherty |
| - 13278: can't do subsecond alarms with ualarm; |
| break out early if alarms do not seem to be working |
| - 13266: test relaxation (cygwin gets lower hires |
| times than lores ones) |
| - 12846: protect against high load, from Jarkko Hietaniemi |
| - 12837: HiRes.t VMS tweak, from Craig A. Berry |
| - 12797: HiRes.t VMS tweak, from Charles Lane |
| - 12769: HiRes.t VMS tweak, from Craig A. Berry |
| - 12744: gcc vs MS 64-bit constant syntax, from Nick Ing-Simmons |
| - 12722: VMS ualarm for VMS without ualarm, from Charles Lane |
| - 12692: alarm() ain't gonna work if ualarm() ain't, |
| from Gurusamy Sarathy |
| - 12680: minor VMS tweak, from Charles Lane |
| - 12617: don't try to print ints as IVs, from Jarkko Hietaniemi |
| - 12609: croak on negative time, from Jarkko Hietaniemi |
| - 12595: Cygwin rounds up for time(), from Jarkko Hietaniemi |
| - 12594: MacOS Classic timeofday, from Chris Nandor |
| - 12473: allow for more than one second for sleep() and usleep() |
| - 12458: test tuning, relax timing constraints, |
| from Jarkko Hietaniemi |
| - 12449: make sleep() and usleep() to return the number |
| of seconds and microseconds actually slept (analogously |
| with the builtin sleep()), also make usleep() croak if |
| asked for more than 1_000_000 useconds, from Jarkko Hietaniemi |
| - 12366: Time::HiRes for VMS pre-7.0, from Charles Lane |
| - 12199: do not use ftime on Win32, from Gurusamy Sarathy |
| - 12196: use ftime() on Win32, from Artur Bergman |
| - 12184: fix Time::HiRes gettimeofday() on Win32, from Gurusamy Sarathy |
| - 12105: use GetSystemTime() on Win32, from Artur Bergman |
| - 12060: explain the 1e9 seconds problem, from Jarkko Hietaniemi |
| - 11901: UNICOS sloppy division, from Jarkko Hietaniemi |
| - 11797: problem in HiRes.t, from John P. Linderman |
| - 11414: prototype from Time::HiRes::sleep(), from Abhijit Menon-Sen |
| - 11409: Time::HiRes qw(sleep) failed, from Abhijit Menon-Sen |
| - 11270: dynix/ptx 4.5.2 hints fix, from Peter Prymmer |
| - 11032: VAX VMS s/div/lib\$ediv/ fix, from Peter Prymmer |
| - 11011: VAX VMS s/qdiv/div/ fix, from Peter Prymmer |
| - 10953: SCO OpenServer 5.0.5 requires an explicit -lc for usleep(), |
| from Jonathan Stowe |
| - 10942: MPE/IX test tweaks, from Mark Bixby |
| - 10784: unnecessary pod2man calls, from Andy Dougherty |
| - 10354: ext/ + -Wall, from Doug MacEachern |
| - 10320: fix the BOOT section to call myU2time correctly |
| - 10317: correct casting for AIX< from H. Merijn Brand |
| - 10119: document that the core time() may be rounding, not truncating |
| - 10118: test fix, from John Peacock |
| - 9988: long =item, from Robin Barker |
| - 9714: correct test output |
| - 9708: test also the scalar aspect of getitimer() |
| - 9705: Add interval timers (setitimer, getitimer) |
| - 9692: do not require at least 5.005 using XS |
| |
| The following changes were made on top of the changes |
| made for Time::HiRes during the Perl 5.7 development |
| cycle that culminated in the release of Perl 5.8.0. |
| |
| - add "require 5.005" to the Makefile.PL |
| - remove the REVISION section (CVS log) from HiRes.pm |
| - add jhi's copyright alongside Douglas' |
| - move HiRes.pm to lib/Time/ |
| - move HiRes.t to t/ |
| - modify HiRes.t to use $ENV{PERL_CORE} |
| - modify the original Time::HiRes version 1.20 Makefile.PL |
| to work both with Perl 5.8.0 and the new code with pre-5.8.0 |
| Perls (tried with 5.6.1) |
| - tiny tweaks and updates in README and TODO |
| - bump the VERSION to 1.29 |
| |
| 1.20 Wed Feb 24 21:30 1999 |
| - make our usleep and ualarm substitutes into hrt_usleep |
| and hrt_ualarm. This helps static links of Perl with other |
| packages that also have usleep, etc. From |
| Ilya Zakharevich <ilya@math.ohio-state.edu> |
| - add C API stuff. From Joshua Pritikin |
| <joshua.pritikin@db.com> |
| - VMS Makefile.PL fun. From pvhp@forte.com (Peter Prymmer) |
| - hopefully correct "-lc" fix for SCO. |
| - add PPD stuff |
| |
| 1.20 adds a platform neutral set of C accessible routines if you are |
| running 5.005+. All other changes are packaging changes and build |
| fixes(?) for statically linked Perl, SCO, and VMS. |
| |
| 1.19 Tue Sep 29 22:30 1998 |
| - put VMS gettimeofday() in. Patch is from Sebastian Bazley |
| <seb@stian.demon.co.uk> |
| - change GIMME_V to GIMME to help people with older versions of |
| Perl. |
| - fix Win32 version of gettimeofday(). It didn't affect anything, |
| but it confuses people reading the code when the return value |
| is backwards (0 is success). |
| - fix Makefile.PL (more) so that detection of gettimeofday is |
| more correct. |
| |
| 1.19 has better VMS support. |
| |
| 1.18 Mon Jul 6 22:40 1998 |
| - add usleep() for Win32. |
| - fix Makefile.PL to fix reported HP/UX feature where unresolved |
| externals still cause an executable to be generated (though no |
| x bit set). Thanks to David Kozinn for report and explanation. |
| Problems with the fix are mine :) |
| |
| 1.18 has limited Win32 support (no ualarm). Added usleep for Win32. |
| Probably buggy. I'm sure I'll hear. |
| |
| 1.17 Wed Jul 1 20:10 1998 |
| - fix setitimer calls so microseconds is not more than 1000000. |
| Hp/UX 9 doesn't like that. Provided by Roland B Robert, PhD. |
| - make Win32. We only get gettimeofday (the select hack doesn't |
| seem to work on my Win95 system). |
| - fix test 4 on 01test.t. add test to see if time() and |
| Time::HiRes::time() are close. |
| |
| 1.16 Wed Nov 12 21:05 1997 |
| - add missing EXTEND in new gettimeofday scalar code. |
| |
| 1.16+ should be closer to building out of the box on Linux. Thanks |
| to Gisle Aas for patches, and the ualarm equivalent using setitimer. |
| |
| If your underlying operating system doesn't implement ualarm(), then |
| a fake using setitimer() will be made. If the OS is missing usleep(), |
| a fake one using select() will be made. If a fake can't be made for |
| either ualarm() or usleep(), then the corresponding Perl function will |
| not be available. If the OS is missing gettimeofday(), you will get |
| unresolved externals, either at link- or run-time. |
| |
| This is an improvement; the package used to not even build if |
| you were missing any of these bits. Roderick Schertler |
| |
| <roderick@argon.org> did all the conditional compilation stuff, |
| look at HiRes.pm and the test suites; it's good educational reading. |
| |
| 1.15 Mon Nov 10 21:30 1997 |
| - HiRes.pm: update pod. Provided by Gisle Aas. |
| - HiRes.xs: if gettimeofday() called in scalar context, do |
| something more useful than before. Provided by Gisle Aas. |
| - README: tell of xsubpp '-nolinenumber' woes. thanks to |
| Edward Henigin <ed@texas.net> for pointing out the problem. |
| |
| 1.14 Wed Nov 5 9:40 1997 |
| - Makefile.PL: look for setitimer |
| - HiRes.xs: if missing ualarm, but we have setitimer, make up |
| our own setitimer. These were provided by Gisle Aas. |
| |
| 1.13 Tue Nov 4 23:30 1997 |
| - Makefile.PL: fix autodetect mechanism to do try linking in addition |
| to just compiling; should fix Linux build problem. Fix was provided |
| by Gisle Aas. |
| |
| 1.12 Sun Oct 12 12:00:00 1997 |
| - Makefile.PL: set XSOPT to '-nolinenumbers' to work around xsubpp bug; |
| you may need to comment this back out if you have an older xsubpp. |
| - HiRes.xs: set PROTOTYPES: DISABLE |
| |
| 1.11 Fri Sep 05 16:00:00 1997 |
| - Makefile.PL: |
| Had some line commented out that shouldn't have been (testing |
| remnants) |
| - README: |
| Previous version was corrupted. |
| |
| 1.10 Thu May 22 20:20:00 1997 |
| - HiRes.xs, HiRes.pm, t/*: |
| - only compile what we have OS support for (or can |
| fake with select()) |
| - only test what we compiled |
| - gross improvement to the test suite |
| - fix EXPORT_FAIL. |
| This work was all done by Roderick Schertler |
| <roderick@argon.org>. If you run Linux or |
| one of the other ualarm-less platforms, and you like this |
| module, let Roderick know; without him, it still wouldn't |
| be working on those boxes... |
| - Makefile.PL: figure out what routines the OS has and |
| only build what we need. These bits were written by Jarkko |
| Hietaniemi <jhi@iki.fi>. Again, gratitude is due... |
| |
| 1.02 Mon Dec 30 08:00:00 1996 |
| - HiRes.pm: update documentation to say what to do when missing |
| ualarm() and friends. |
| - README: update to warn that ualarm() and friends need to exist |
| |
| 1.01 Fri Oct 17 08:00:00 1996 |
| - Makefile.PL: make XSPROTOARGS => '-noprototyopes' |
| - HiRes.pm: put blank line between __END__ and =head1 so that |
| pod2man works. |
| |
| 1.00 Tue Sep 03 13:00:00 1996 |
| - original version; created by h2xs 1.16 |