xref: /openbsd/gnu/usr.bin/perl/dist/Time-HiRes/Changes (revision f6aab3d8)
1Revision history for the Perl extension Time::HiRes.
2
3{{NEXT}}
4
5 - Remove obsolete vms code
6 - Use core version compare
7
81.9764 [2020-08-10]
9 - Fix a bunch of repeated-word typos
10 - Fix compilation with Visual C++ 2013 and older
11 - Implement clock_gettime() and clock_getres() for win32
12 - Remove workaround for an ancient Devel::PPPort bug
13 - Remove the remains of MacOS classic support
14 - Remove code for perls older than 5.6
15 - Remove vestiges of mpeix support (removed in 5.17.x)
16 - Remove trailing blanks
17 - Add links to pod
18
191.9760 [2019-02-18]
20 - make utime() available only if we have both fd and name setting
21   [RT #133030]
22 - Adjutst Makefile.PL for windows: the DEFINE() in Makefile.PL
23   can't be in sub init() because that sub isn't called on windows
24 - t/itimer.t: avoid race condition.
25 - don't truncate nanosec utime
26 - fallback/const-c.inc: Avoid compiler warning showing up on darwin.
27
281.9759 [2018-03-23]
29 - This version reverts the changes on CPAN that were included in 1.9754 - 1.9758.
30   Several of these changes caused instability on some windows platforms. We can
31   revisit these fixes if necessary in Perl 5.29.0
32
331.9758 [2018-03-21]
34 - fix build in Win32 with Visual C by introducing a fake struct timezone
35   [rt.cpan.org #124844]
36 - in utime.t detect better being run in a noatime filesystem,
37   and if so, skip the test (for the HAMMER filesystem of DragonflyBSD)
38 - also for the HAMMER fs (if not in noatime), lower the expected subsecond
39   timestamp granularity to microseconds
40 - fix the version number typo in Changes: 1.9577 -> 1.9757
41
421.9757 [2018-03-15]
43 - fix win32 (and cygwin?) builds which have been broken since 1.9755:
44   problem was that gettimeofday() is a macro and needs to stay such
45 - regenerate ppport.h with Perl 5.26.1 (was previously generated with
46   5.25.6) and Devel::PPPort 3.35 (previously 3.36) -- this doesn't
47   change the ppport.h, though
48
491.9756 [2018-03-14]
50 - division by zero in new test tv_interval.t [rt.cpan.org #124775]:
51   made the test pass even if the difference is zero, but also
52   made it practically impossible to ever be zero by adding
53   a sub-second sleep.
54 - remove comments from inside qw [rt.cpan.org #124777],
55   only seemed to be caught by Perl 5.18.4
56
571.9755 [2018-03-14]
58 - adjust the error messages of tv_interval()
59 - the NV_1EX constants now cast to be NV so that
60   tv_interval() with long double builds does not
61   produce ugly results [rt.cpan.org #106456]
62 - add tests for tv_interval()
63 - centralize the mygettimeofday() logic
64 - make the mygettimeofday() a function instead of macro
65 - add the OS X 10.12+ clock_gettime() constants
66   CLOCK_MONOTONIC_RAW_APPROX CLOCK_UPTIME_RAW_APPROX
67 - regenerate the fallback files
68
691.9754 [2018-02-16]
70 - unify the gettimeofday() and time() forked code
71   that had near identical code paths for MacOS Classic
72   (which has two unusual features: unsigned time_t,
73   and a special tz struct member), and for non-MacOS Classic
74 - tv_interval should be implemented in XS
75   [rt.cpan.org #106456]
76   thanks to Sergey Aleynikov (suggested implementation simplified
77   by the above-mentioned MacOS Classic simplification)
78
791.9753 [2018-01-11]
80 - in t/clock.t in a fast system we need to burn more CPU,
81   reported and fix suggested by Joel C. Maslak <jmaslak@antelope.net>
82   [rt.cpan.org #124025]
83 - for t/utime.t in netbsd we need /sbin in PATH to find the mount command,
84   this is needed for the fix in 1.9751 to actually help netbsd with noatime
85   mounts.
86   (thanks to Nigel Horne)
87
881.9752 [2018-01-04]
89 - fix an error in the error message of utimensat() not available:
90   it said futimens() not available
91 - add --force alias for Makefile.PL --configure
92
931.9751 [2018-01-02]
94 - in macOS/OSX/Darwin, use __has_builtin() check also for utimensat(),
95   can cause errors like
96   "HiRes.xs:1474:16: error: unrecognized platform name macOS"
97   [rt.cpan.org #123994]
98   (oversight from 1.9749)
99 - do not define TIME_HIRES_STAT/d_hires_stat if none was found, instead
100   of defining it to be zero, which case has no implementation in hrstatns()
101   (thanks to Nigel Horne)
102 - in t/utime.t try to divine if the filesystem of the tempfiles has been
103   mounted with the 'noatime' option, which can prohibit updating the
104   access time timestamp.  Also document this in HiRes.pm.
105   (thanks to Nigel Horne, original analysis by Slaven Rezic)
106 - synchronize the constant lists in HiRes.pm:@EXPORT_OK
107   and Makefile.PL:doConstants and regenerate fallback/const-c.inc
108   and fallback/const-xs.inc, this fixes Perl 5.6.2 issue with
109   d_futimens not allegedly being a valid macro in t/utime.t
110   (using Perl 5.26.1 for the regenerating, not 5.6.2)
111   (thanks to Nigel Horne)
112 - in t/utime.t define a nop sub done_testing for ancient Perls
113   (like Perl 5.6.2)
114 - in Perl 5.6.2 a bogus warning
115   "Use of uninitialized value in subroutine entry"
116   is issued from t/alarm.t: add a comment documenting that
117
1181.9750 [2017-12-22]
119 - update META.yml and META.json for XSLoader instead of DynaLoader
120   [rt.cpan.org #123933]
121
1221.9749 [2017-12-21]
123 - CPAN release
124 - Quieten Time-HiRes test noise: blead 0f009486
125 - Switch some core modules to XSLoader: blead b9a5a78f [rt.cpan.org #129789]
126 - disable a flapping test for CI: blead cd2a978d
127 - Avoid newGVgen in blead-upstream modules: blead 732d3893
128 - Declaration after statement in typemap: blead d269f586
129 - semicolon-friendly diagnostic control: blead 7347ee54
130 - in macOS (OS X) check properly in runtime whether futimens()
131   and utimensat() are available
132
1331.9748 [2017-12-16]
134 - bleadperl only
135 - semicolon-friendly diagnostic control: blead 7347ee54
136
1371.9747 [2017-09-13]
138 - bleadperl only
139 - Switch some core modules to XSLoader: blead b9a5a78f [rt.cpan.org #129789]
140
1411.9746 [2017-08-17]
142 - Unreliable t/usleep.t and t/utime.t tests [rt.cpan.org #122819]
143   Avoid testing for $dt = $t2 - $t1 and assuming $dt is less than
144   some value since a heavily loaded machine can delay the $t2.
145   Testing for greater than is fine.
146 - Tweak the configuring messages about subsecond stat/utime.
147
1481.9745 [2017-08-14]
149  - Properly check for futimens/utimensat actually doing something.
150    This should handle 'gnukfreebsd' (which has only stubs, so far
151    we have been skipping the test) and as a new thing 'gnu' (Hurd)
152    (also only stubs).  Thanks to Nigel Horne.
153  - Scan in t/utime.t whether the filesystem (wherever File::Temp
154    puts it tempfiles) supports subsecond timestamps.  This removes
155    the fragile Linux/ext3 specific hack.  As a side effect, the
156    setting of subsecond timestamps is tested only if reading of
157    them is supported.  Thanks to Carsten Gaebler for the test idea,
158    and Ryan Voots for testing.
159
1601.9744 [2017-07-27]
161  - add more potential clock constants, like CLOCK_MONOTONIC_FAST
162    (available in FreeBSD), and not all potentially found clock
163    constants were properly exported to be available from Perl,
164    see your system's clock_gettime() documentation for the available ones
165
1661.9743 [2017-07-20]
167  - correct declared minimum Perl version (should be 5.6, was declared
168    as 5.8 since 1.9727_03): blead af94b3ac
169  - fix the fix for 'do file' to load hints in Makefile.PL: blead 3172fdbc
170
1711.9742 [2017-04-16]
172  - prefer 3-argument open: blead 1ae6ead9
173  - fix dist/Time-HiRes/t/*.t that assumed '.' in @INC: blead 465db51d
174  - fix cases where 'do file' should be 'do ./file'.: blead 8b69401c
175
1761.9741 [2016-11-20]
177  - C++11 compatibility: blead a914236c
178  - El Capitan compatibility: blead 45bbc013
179  - use CLOCK_REALTIME for clock_nanosleep scan: blead 56ed632c
180  - include file consistency in scans: blead 605b4dbe
181  - use clockid_t consistently: blead 2979fdf3
182  - use hv_fetchs(): blead 07e4dd7a
183  - scan for clockid_t (needed for macos Sierra): blead 69d1f2c2
184  - darwin lacks clockid_t: blead d1e7b5aa
185    [rt.cpan.org #129789]
186  - provide template for tempfile: blead 91dca83e
187  - explicit cast for clockid_t in C++11: blead 1c566547
188  - upgrade to a newer ppport (3.35)
189
1901.9740 [2016-09-25]
191  - the ext3/ext2 filesystems do not have subsecond resolution,
192    therefore skip the t/utime.t test
193    [rt.cpan.org #116127]
194
1951.9739 [2016-06-28]
196  - the upcoming macOS 10.12 (Sierra, the operating system formerly
197    known as OS X, or Darwin) has implemented the clock_gettime()
198    and clock_getres() interfaces but not the clock_nanosleep()
199
2001.9738 [2016-06-26]
201  - fix the dates in the Changes, it's not July yet
202    [rt.cpan.org #115553]
203  - in cygwin, drop the utime.t expected timestamp resolution
204  - documented for utime that the actual timestamp resolution depends
205    on the operating system and the filesystem, just like for stat
206  - looks like in gnukfreebsd 10.1 neither futimens or utimensat work
207    even though they exist, skipping utime tests there for now
208  - demodernize the Test::More use in utime.t (no subtest) to
209    better support older Perl installations
210  - for all the tests, drop the Test::More 0.82 requirement,
211    the only "modern" thing used is the note routine which
212    can be replaced with print("# ...\n") (or printf),
213    with this works back at least with Test::More 0.54 (perl 5.8.7)
214
2151.9737 [2016-06-22]
216  - utime in HiRes.xs had dXSARGS which was unnecessary, leading
217    to two markstack pops, panic, and two-minute wait for the watchdog
218    (thanks to Dave Mitchell for the eagle-eye)
219  - even though 5.10.x should have the Perl_ck_warner, many CPAN
220    smokes proved otherwise, so requiring now at least 5.12 for
221    Perl_ck_warner use in IS_SAFE_PATHNAME()
222
2231.9736 [2016-06-22]
224  - the IS_SAFE_PATHNAME() emulation was too modern for Perl 5.10
225  - make it so that only one value is set for -DTIME_HIRES_STAT
226    even on systems that support many options
227  - the 1.9734 (only released in blead, and as part of the development
228    release 5.25.2) fix for Darwin's clock_gettime was wrong under
229    threaded builds, leading into mutex panics in clock.t
230  - the d_hires_utime determination was made more precise
231  - the utime.t was failing in platforms where only one of
232    futimens/utimensat was present (neither or both was okay)
233
2341.9735 [2016-06-20]
235  - Time::HiRes should override `utime` to allow setting hires
236    (futimens and utimensat support)
237    [rt.perl.org #114809]
238  - the utime patch used IS_SAFE_PATHNAME() which isn't available in
239    too old Perls, so emulate (in case the Devel::PPPort is too old)
240
2411.9734 [2016-06-17]
242  - fix Darwins with clock_gettime: blead 2d41a263
243    [rt.perl.org #128427]
244
2451.9733 [2016-04-23]
246  - C90 declaration-after-statement error with darwin threads: blead de1003b4
247    [rt.cpan.org #113856]
248
2491.9732 [2016-03-13]
250  - MUTEX_LOCK, not PERL_MUTEX_LOCK: blead e5b02b5d
251  - also hrt_ualarm_itimer() is unused: 1cb6cce3
252  - the mutex needs init: 2d639e20
253  - version bump to 1.9732: 730d7fdc
254
2551.9731 [2016-03-13]
256  - mark unused variable as such: blead a914236c
257  - OS X emulation mutex accidentally unused: da7a6455
258  - remove hrt_ualarm: 6da77c36
259  - pod error fixes: 919ca095
260  - nanosleep and clock_nanosleep cleanups: c8ea02b8..e3ff671b
261  - static funcs in HiRes.xs: 4e922c26
262  - Remove unused variable: 52ffb1b5
263
2641.9730 [2016-02-17]
265  - TIME_HIRES_DONT_RUN_PROBES=1 to build the probes but not run them
266    [rt.cpan.org #111391]
267
2681.9729 [2016-02-13]
269  - new constants
270    [rt.cpan.org #111170]
271  - clock_getres(), clock_gettime(), clock_nanosleep() emulation for OS X
272    [rt.cpan.org #78566]
273
2741.9728 [2015-11-13]
275  - No changes since 1.9727_03
276
2771.9727_03 [2015-11-06]
278  - use PERL_UNUSED_ARG() in the not-here-croak branches
279  - Makefile.PL/metadata improvements
280
2811.9727_02 [2015-08-29]
282  - correct documentation to note that Time::NVtime is NV, not double
283    [perl #123879]
284  - avoid a warning about clock_t on OS X / clang 3.6 - 3.6
285    [rt.cpan.org #102718]
286
2871.9727_01 [2015-08-17]
288  - Remove usage of 5.005 thread APIs in favor of 5.6 and up thread APIs
289    [rt.cpan.org #102799].
290  - Silence a C++ compiler warning [rt.cpan.org #101497].
291  - respect $Config{run} for cross-compiling [rt.cpan.org #92607]
292
2931.9726 [2013-08-17]
294	- Correct s/us splitting of usleep(1000000) [rt.cpan.org #78266].
295	- Avoid integer overflow in itimer-based alarm() with large
296	  argument [rt.cpan.org #87160].
297	- Define PERL_NO_INLINE_FUNCTIONS during probe compilations, to
298	  avoid false negatives caused by not linking with the perl core.
299	- Be more careful about context in stat().
300	- Install into "site" directories by default on perl 5.11+
301	  [rt.cpan.org #79797].
302	- Fix a couple of doc typos [rt.cpan.org #85365].
303	- Fix function name in a doc example [rt.cpan.org #86318].
304	- Provide lstat() that yields high-res timestamps, alongside
305	  the existing high-res stat() [rt.cpan.org #78732].
306
3071.9725 [2012-02-01]
308	- Correct stack discipline in stat(), which was screwing up list
309	  operations in expressions containing calls to it [rt.cpan.org
310	  #72926].
311	- Add missing OUTPUT sections to the XS code [rt.cpan.org #70930].
312	- Skip itimer tests on GNU/Hurd, which has the API but lacks
313	  the implementation [rt.cpan.org #72754].
314	- Fix a doubled word in the documentation [rt.cpan.org #72763].
315
3161.9724 [2011-06-09]
317	- Correct XS parameter list, and therefore prototype, for
318	  unimplemented-on-this-platform version of clock_nanosleep()
319	  [rt.cpan.org #68700].
320	- Declare package variables with "our" rather than "use vars".
321	- Corresponding to "our" usage, check for minimum Perl version
322	  5.006.
323	- Declare module dependencies.
324
3251.9723 [2011-06-07]
326	- Remove $ENV{PERL_CORE} logic from test suite, which is no
327	  longer desired in the core.
328	- Convert test suite to use Test::More.
329	- Factor out watchdog code from test suite.
330	- In test suite, be consistent about using fully-qualified form
331	  of function names.
332	- Divide test suite into feature-specific scripts.
333	- Make ualarm timing test less vulnerable to delay-induced false
334	  failure, from Dave Mitchell.
335
3361.9722 [2011-05-18]
337	- Update for changes in build process in the core, patches
338	  from BinGOs [rt.cpan.org #58858] and Craig Berry [rt.cpan.org
339	  #63363].
340	- Fix broken linkage on Windows with gcc 3.4 seen with ActivePerl,
341	  report from Christian Walde [rt.cpan.org #61648], fix derived
342	  from Vincent Pit.
343	- Jump through hoops to avoid compiler warnings.
344
3451.9721 [2010-03-17]
346	- Address [rt.cpan.org #54196] alarm and ularm return values are bogus,
347	  additional fix from Gisle Aas
348	- Address [rt.cpan.org #55665] "Bad plan" on Windows,
349	  report and fix from Jan Dubois
350
3511.9720 [2010-02-14]
352	- Address [rt.cpan.org #54196] alarm and ularm return values are bogus,
353	  report and fix from Nicholas Clark
354
3551.9719	[2009-01-04]
356	- As with QNX, Haiku has the API of interval timers but not
357	  the implementation (bleadperl change #34630), hence skip
358	  the tests, via David Mitchell.
359
3601.9718	[2008-12-31]
361	- .xs code cleanup from Albert Dvornik
362	- in the #39 and #40 do not do us I did, mixing alarm() and
363	  sleep().  Now instead spin until enough time has passed.
364
3651.9717	[2008-12-30]
366	- Skip the tests added in 1.9716 (#39, #40) if there's no subsecond
367	  alarm capability, like with the older subsecond alarm tests
368
3691.9716	[2008-12-26]
370	- Change documentation to agree with reality: there are
371	  no interval timers in Win32.
372	- Address [rt.cpan.org #35899] (problem in subsecond sleeps),
373          add two tests to guard against this problem
374	- Address [rt.cpan.org #36600] 'Division by zero' failure in test suite
375	- Address [rt.cpan.org #37340] [PATCH] Address timer process in test
376	- Address [rt.cpan.org#40311 ] bad implementation of hrt_usleep
377          with TIME_HIRES_NANOSLEEP
378
3791.9715	[2008-04-08]
380	- Silly me: Makefile.PL does need to accept arguments other than mine.
381	  Some testing frameworks obviously do this.
382	- Add retrying for tests 34..37, which are the most commonly
383	  failing tests.  If this helps, consider extending the retry
384	  framework to all the tests.  [Inspired by Slaven Rezic,
385	  [rt.cpan.org #34711] Occasional failures of test 35 or 36 (FreeBSD)]
386
3871.9714	[2008-04-07]
388	- Under Perl 5.6.* NVgf needs to be "g", reported by Zefram,
389	  it seems that ppport.h 3.13 gets this wrong.
390	- remove the check in Makefile.PL for 5.7.2, shouldn't be
391	  (a) necessary (b) relevant
392	- add logic to Makefile.PL to skip configure/write Makefile
393	  step if the "xdefine" file already exists, indicating that
394	  the configure step has already been done, one can still
395	  force (re)configure by "perl Makefile.PL configure",
396	  or of course by "make clean && perl Makefile.PL".
397
3981.9713	[2008-04-04]
399	- for alarm() and ualarm() [Perl] prefer setitimer() [C]
400	  instead of ualarm() [C] since ualarm() [C] cannot portably
401	  (and standards-compliantly) be used for more than 999_999
402	  microseconds (rt.cpan.org #34655)
403	- it seems that HP-UX has started (at least in 11.31 ia64)
404	  #defining the CLOCK_REALTIME et alia (instead of having
405	  them just as enums)
406	- document all the diagnostics
407
4081.9712	[2008-02-09]
409	- move the sub tick in the test file back to where it used to be
410	- in the "consider upgrading" message recommend at least Perl 5.8.8
411	  and make the message to appear only for 5.8.0 since 5.8.1 and
412	  later have the problem fixed
413	- VOS tweak for Makefile (core perl change #33259)
414	- since the test #17 seems to fail often, relax its limits a bit
415
4161.9711	[2007-11-29]
417	- lost VMS test skippage from Craig Berry
418	- reformat the test code a little
419
4201.9710	[2007-11-29]
421	- I got the sense of the QNX test the wrong way in an attempt
422	  to generalize it for future
423
4241.9709	[2007-11-28]
425	- casting fixes from Robin Barker for g++ and 64bitint
426	- in QNX skip the itimer tests because though the API
427	  is there, the implementation isn't, from Matt Kraai
428	- raise the dead man timer to 180 seconds for really
429	  slow/busy systems
430	- elaborate the UTF-8 locale warning from Makefile.PL
431
4321.9708	[2007-10-05]
433	- [rt.cpan.org #29747]: Build failure with perl 5.005_05
434	  Fixed by regenerating the ppport.h using Devel::PPPort 3.13.
435
4361.9707	[2007-02-27]
437	- t/HiRes.t failed in Perl 5.6.2,
438	  "action is not of type POSIX::SigAction at t/HiRes.t line 318",
439	  reported and fixed by Anton Berezin, the reason was faulty
440	  use of sigaction() when restoring the old action.
441
4421.9706	[2007-02-25]
443	- with bleadperl in VMS the HiRes.t overrun the maximum number
444	  of deferred signals because the libc SIGALRM was not strong
445	  enough to interrupt select(), and select() got restarted every
446	  time, solution is to use POSIX::SigAction if available.
447	  A fix from Craig Berry (not 100% there, but helps).
448	- allow for more measuring noise for ualarm() tests 35..37
449
4501.9705	[2007-02-06]
451	- nanosleep() and clock_nanosleep() detection and use were
452	  quite broken; in Linux -lrt needed; fixes from Zefram
453	- [internal] slightly cleaner building of $DEFINE in Makefile.PL,
454	  should avoid double/conflicting -D flags
455
4561.9704	[2007-01-01]
457	- allow 10% of slop in test #14 (testing difference between
458	  CORE::time() and Time::HiRes::time()), there seem to be often
459	  transient failures from Perl smoke builds on this test
460	- small pod tweaks
461
4621.9703	[2006-12-08]
463	- use int main(int argc, char **argv) consistently in Makefile.PL,
464	  should help with
465	  [rt.cpan.org #23868] nanosleep not detected under Mac OS 10.3.9 starting with Time::HiRes 1.96
466	- if someone still has the locale-broken Perl 5.8.0,
467	  suggest that they upgrade their Perl
468
4691.9702	[2006-12-06]
470	- restore the -DATLEASTFIVEOHOHFIVE, Win32 needed it still
471
4721.9701	[2006-12-04]
473	- upgrade to ppport.h 3.10_02
474	- remove the -DATLEASTFIVEOHOHFIVE
475	- use the ppport.h PL_ppaddr, PL_statcache, PL_laststatval
476	- use the ppport.h aTHXR for calling Perl stat()
477	- switch into four-digit version since 2.0 is coming up
478	  awfully fast but not feeling like a major rewrite
479
4801.97	[2006-11-30]
481	- 1.95 broke building in Win32 (since pp_stat is not exported),
482	  figured out how to call an op directly in 5.005 (use Perl_ppaddr
483	  instead of PL_ppaddr)
484	- backport to Perl 5.004_05  (requires using statcache
485	  and laststatval instead of PL_statcache and PL_laststatval)
486	  (also checked to work in 5.005_04, 5.6.1, and 5.8.8 with threads)
487
4881.96	[2006-11-30]
489	- 1.95 broke builds for threaded Perls, rt.cpan.org tickets:
490	  [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1
491	  [rt.cpan.org #23712] Time-HiRes 1.95 Fails make on AIX 5.2 with Perl 5.8.8
492	  [rt.cpan.org #23730] Time::HiRes 1.95 fails make on MacOS X 10.3.9/perl 5.8.8
493	- use main() prototype consistently in Makefile.PL
494
4951.95	[2006-11-29]
496	- integrate core change #29180: Silence VC++ compiler warnings
497	  from Steve Hay
498	- do not use PL_ppaddr in stat() because that is not available
499	  in Perl 5.005_04
500	- regenerate fallback/*.inc for older Perls without
501          ExtUtils::Constant because of d_hires_stat, resolves
502	  [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1
503	- Make Makefile.PL more defensive against false PERL_CORE
504
5051.94	[2006-10-16]
506	- file timestamps oddities seen: the atime and mtime
507	  can be out of sync (modify first and read second can leave
508	  atime < mtime) and mtime can be subsecond while atime is not.
509	  So make the test more forgiving.
510
5111.93	[2006-10-15]
512	- the ualarm() tests (34-37) assumed that ualarm(N)
513	  could never alarm in less than N seconds, widened
514	  the acceptable relative range to 0.9..1.5.  Addresses
515	  [rt.cpan.org #22090] and [rt.cpan.org #22091].
516
517	- skip the stat() tests in cygwin and win32, because
518	  if run on FAT the timestamp granularity is only 2 seconds.
519	  Any good way to detect (cygwin or win32) whether we are
520	  being run on NTFS or anywhere with better timestamps?
521	  Addresses [rt.cpan.org #22089] and [rt.cpan.org #22098].
522
5231.92	[2006-10-13]
524	- scan for subsecond resolution timestamps in struct stat,
525	  some known possibilities:
526
527	  (1)  struct  timespec st_atimespec;
528                                st_atimespec.tv_nsec;
529	  (2)  time_t  st_atime;
530	       long    st_atimensec;
531          (3)  time_t  st_atime;
532               int     st_atime_n;
533	  (4)  timestruc_t st_atim;
534                           st_atim.tv_nsec
535	  (5)  time_t  st_atime;
536               int     st_uatime;
537
538          If something like this is found, one can do
539
540	    use Time::HiRes;
541	    my @stat = Time::HiRes::stat();
542
543	  or even override the standard stat():
544
545	    use Time::HiRes qw(stat);
546
547          to get the stat() timestamps
548
549	    my ($atime, $mtime, $ctime) = @stat[8, 9, 10];
550
551	  with subsecond resolution (assuming both the operating
552	  system and the filesystem support that kind of thing).
553
554	  Contributions for more systems (especially non-UNIX,
555	  e.g. but not limited to: Win32, VMS, OS/2) gladly accepted.
556	  (also more UNIX variants welcome: HP-UX? IRIX?)
557
558	  Thanks to H.Merijn Brand, John Peacock, and Craig
559	  Berry for brave beta testing.
560
5611.91	[2006-09-29]
562	- ualarm() in SuSE 10.1 was overflowing after ~4.2 seconds,
563	  possibly due to a glibc bug/feature (suspected overflow at
564	  2**32 microseconds?), workaround by using the setitimer()
565	  implementation of ualarm() if either useconds or
566	  interval > 999_999 (this case seems to vary between systems:
567	  are useconds more than 999_999 for ualarm() defined or not)
568	  Added more ualarm() tests to catch various overflow points,
569	  hopefully no problems in various platforms.
570	  (The problem report by Mark Seger and Jon Paul Sullivan of HP.)
571
5721.90	[2006-08-22]
573	- tweak still needed for Const64(), from Jerry Hedden
574	- get a freshly generated ppport.h
575	- update Copyright years
576
5771.89	[2006-08-22]
578	- Const64() already appends an 'LL' (or i64), so provide LL and i64
579	  forms for the IV_1E[679] (effects Win32 and Cygwin), reported by
580	  Jerry Hedden.
581	- the Changes entry for 1.88 talked about [IN]V_1[679],
582	  missing the 'E'.
583
5841.88	[2006-08-21]
585	- clean up the g++ warnings in HiRes.xs, all of them
586	  about mixing integer and floating point, introduce
587	  constants IV_1E[679] and NV_1E[679]
588
5891.87	[2006-02-13]
590	- [rt.cpan.org #17442] 'make test' frequently fails under
591	  Cygwin Perl v5.8.8, reported and patched by J. R. Hedden
592	  (two race condition bugs in the END block in the case the
593	   main process dies before the timer process, unearthed
594	   by a bug in Cygwin ualarm)
595
5961.86	[2005-12-17]
597	- HiRes.t:s/ok 32/ok 33/, from Dominic Dunlop
598	- tighten up the clock() test marginally by requiring non-negative
599	- clock_nanosleep() and clock() doc tweaks
600
6011.85	[2005-12-16]
602	- the interface to clock_nanosleep() is more natural
603	  when it is like (hires) time() (instead of like nanosleep),
604	  and the .xs implementation of clock_nanosleep() in 1.84
605	  was broken anyway
606	- the semantics of clock() are not quite so silly as I thought,
607	  but still somewhat odd, documented as such
608	- additional enhancements to the clock() documentation
609	- add test for clock_nanosleep() (I cannot test this
610	  since none of my systems have the function)
611	- add test for clock()
612
6131.84	[2005-12-16]
614	- add clock() which returns the processor time in
615	  (floating point) seconds since an arbitrary era
616	- add clock_nanosleep() which suspends the current
617	  thread until either absolute time or for relative time
618	- [rt.cpan.org #16486] printf missing value in HiRes.t
619	- add constants CLOCKS_PER_SEC, CLOCK_SOFTTIME, TIMER_ABSTIME
620	- tiny typo fixes
621
6221.83	[2005-11-19]
623	- has_symbol() was wrong since e.g. ITIMER_VIRTUAL is exported
624	  via @EXPORT_OK even when it is not available.  This is heinous.
625	  @EXPORT_OK should be determined at Makefile.PL time.
626	- be more lenient is testing clock_gettime(): allow more slop,
627	  and retry up to three times, sleeping a random nap between
628	  the retries
629	- human months are one-based (noticed by Anton Berezin)
630
6311.82	[2005-10-06]
632	- CLOCK_REALTIME is an enum value (of the clockid_t enum)
633	  in HP-UX (and might be so elsewhere, too), debugged by
634	  H. Merijn Brand
635	- include const-c.inc as late as possible (from Randy Kobes,
636	  [rt.cpan.org #15552] to avoid undefined usleep() on Win32
637
6381.81	[2005-11-05]
639	- try to be more robust and consistent in the detection of
640          CLOCK_REALTIME and ITIMER_VIRTUAL in HiRes.t: the proper
641	  way is
642
643		sub has_symbol {
644		    my $symbol = shift;
645		    eval 'import Time::HiRes qw($symbol)';
646		    return 0 unless $@ eq '';
647		    return exists ${"Time::HiRes::$symbol"};
648		}
649
650	  and then use
651
652		&FOO_BAR
653
654	  in the test.  All these moves are needed because
655
656	  1) one cannot directly do eval 'Time::HiRes::FOO_BAR'
657	     because FOO_BAR might have a true value of zero
658	     (or in the general case an empty string or even undef)
659
660	  2) In case FOO_BAR is not available in this platform,
661	     &FOO_BAR avoids the bareword warning
662
663	- wait more (1.5 seconds instead of 0.1) for the CLOCK_REALTIME test
664	  but expect the 'customary' slop of 0.20 instead of 0.25
665	- fixed inside a comment HAS_POLL -> TIME_HIRES_NANOSLEEP
666	- at the end of HiRest.t tell how close we were to termination
667
6681.80	[2005-11-04]
669	- Gisle noticed a mistake (using HAS_NANOSLEEP) in 1.79
670
6711.79	[2005-11-03]
672	- try nanosleep for emulating usleep -- may help in some weird
673	  embedded realtime places which have nanosleep but neither usleep
674	  nor select nor poll (doesn't have to be weird embedded realtime
675	  place, though -- in many places usleep is nanosleep anyway)
676	- try poll for emulating usleep -- this may help some obscure/old
677	  SVR4 places that have neither usleep nor select
678	- a redundant test guard in HiRes.t
679
6801.78	[2005-11-03]
681	- ITIMER_VIRTUAL detection in HiRes.t had problems (that we cannot
682	  in the general case fail already at 'use' phase is suboptimal)
683	- fixes to the documentation of clock_gettime() and clock_getres()
684
6851.77	[2005-11-03]
686	- add support for the POSIX clock_gettime() and clock_getres(),
687	  if available, either as library calls or as syscalls
688	- be more defensive about missing functionality: break out
689	  early (during 'use') if no e.g. clock_getres() is available,
690	  and protect our back by trapping those cases also in HiRes.xs
691	- the test added in 1.76 could cause an endless loop e.g. in Solaris,
692	  due to mixing of sleep() and alarm() (bad programmer, no cookie!)
693
6941.76	[2005-10-22]
695	- testing for nanosleep had wrong logic which caused nanosleep
696	  to become undefined for e.g. Mac OS X
697	- added a test for a core dump that was introduced by Perl 5.8.0
698	  safe signals and was fixed for the time of 5.8.1 (one report of
699	  the core dump was [perl #20920]), the test skipped pre-5.8.1.
700	- *cough* s/unanosleep/nanosleep/g; *cough*
701
7021.75	[2005-10-18]
703	- installation patch from Gisle Aas: in Perls 5.8.x and later
704	  use MakeMaker INSTALLDIRS value of 'perl' instead of 'site'.
705
7061.74	[2005-09-19]
707	- [cpan #14608] Solaris 8 perl 5.005_03 File::Spec module does not have method rel2abs
708	  (the workaround is not to use rel2abs, should not be necessary)
709	- [cpan #14642] U2time wrongly exported on the C API
710	  (patch supplied by the reporter, SALVA@cpan.org)
711	- add release dates to Changes
712
7131.73	[2005-08-16]
714	- Time::HiRes::nanosleep support for Solaris [PATCH]
715	  (POSIX::uname() not available if building with core perl,
716	   from Gisle Aas, via perl5-porters, perl change #25295)
717
7181.72	[2005-07-01]
719	- going back to the 1.68 loader setup (using DynaLoader)
720	  since too many weird things starting breaking
721	- fix a typo in José Auguste-Etienne's name
722
7231.71	[2005-06-28]
724	- a thinko in the nanosleep() detection
725	- move more changes stuff from the README to Changes
726	- add -w to the Makefile.PL
727
7281.70	[2005-06-26]
729	- oops in 1.69 about @ISA (not affecting anything but silly)
730	- add copyright 2005 to HiRes.pm
731	- add copyright and license to HiRes.xs
732	- add copyrights 2003, 2004, 2005 to README
733
7341.69	[2005-06-25]
735	- actually run a test for nanosleep
736	  (if there is no $Config{d_nanosleep}) since e.g. in AIX 4.2
737	  it seems that one can link in nanosleep() but then calling
738	  it fails instantly and sets errno to ENOSYS (Not implemented).
739	  This may be fixable in the AIX case by figuring out the right
740	  (realtime POSIX?) libs and whatnot, but in the general case
741	  running a real test case is better.  (Of course, this change
742	  will no doubt run into portability problems because of the
743	  execution step...)  Note that because of hysterical raisins
744	  most Perls do NOT have $Config{d_nanosleep} (scanning for
745	  it by Configure would in many platforms require linking in
746	  things like -lrt, which would in many platforms be a bad idea
747	  for Perl itself).
748	  (from José Auguste-Etienne)
749	- support XSLoader also since it's much faster
750	  (from Alexey Tourbin)
751	- add SEE ALSO (BSD::Resource and Time::TAI64)
752
7531.68	[2005-05-14]
754	- somehow 1.67 had a lot of doubled lines (a major cut-and-paste
755	  error suspected), but miraculously it still worked since the
756	  doubling took place below the __END__ token
757	- undef Pause() before defining it to avoid redefinition warnings
758	  during compilation in case perl.h had already defined Pause()
759	  (part of perl change #24271)
760	- minor doc tweaks
761
7621.67	[2005-05-04]
763	- (internal) don't ignore the return value of gettimeofday()
764	- (external) return undef or an empty if the C gettimeofday() fails
765	  (affects Time::HiRes gettimeofday() and the hires time())
766
7671.66	[2004-12-19]
768	- add nanosleep()
769	- fix the 'hierachy' typo in Makefile.PL [rt.cpan.org #8492]
770	- should now build in Solaris [rt.cpan.org #7165] (since 1.64)
771	- should now build in Cygwin [rt.cpan.org #7535] (since 1.64)
772	- close also [rt.cpan.org #5933] "Time::HiRes::time does not
773	  pick up time adjustments like ntp" since ever reproducing it
774	  (and therefore verifying a possible fix) in the same environment
775	  has become rather unlikely
776
7771.65	[2004-09-18]
778	- one should not mix u?alarm and sleep (the tests modified
779	  by 1.65, #12 and #13, hung in Solaris), now we just busy
780	  loop executing an empty block
781	- in the documentation underline the unspecificity of mixing
782	  sleeps and alarms
783	- small spelling fixes
784
7851.64	[2004-09-16]
786	- regenerate ppport.h with Devel::PPPort 3.03,
787	  now the MY_CXT_CLONE is defined in ppport.h,
788	  we no more need to do that.
789
790	- the test #12 would often hang in sigsuspend() (at least that's
791	  where Mac OS X' ktrace shows it hanging).  With the sleep()s
792	  changed to sleep(1)s, the tests still pass but no hang after
793	  a few hundred repeats.
794
7951.63	[2004-09-01]
796	- Win32 and any ithread build: ppport.h didn't define
797	  MY_CXT_CLONE, which seems to be a Time-HiRes-ism.
798
7991.62	[2004-08-31]
800	- Skip testing if under PERL_CORE and Time::HiRes has not
801	  been Configured (from Marcus Holland-Moritz, core change
802	  #23246)
803	- Use ppport.h generated by Devel::PPPort 3.01,
804	  allowing cutting away our own portability code.
805	- Don't use $ENV{PERL_CORE} for < 5.6.0.
806	- Don't use "for my $i" for <= 5.003.
807	- Don't use Pause() for <= 5.003.
808	- Can't use newSVpvf for <= 5.003.
809	(most of the changes from Marcus)
810
8111.61	[2004-08-21]
812	- Win32: reset reading from the performance counters every
813	  five minutes to better track wall clock time (thanks to
814	  PC timers being often quite bad), should help long-running
815	  programs.
816
8171.60	[2004-08-15]
818	- Win32: Patch from Steve Hay
819	  [PATCH] Re: [perl #30755] [Win32] Different results from Time::HiRes::gettimeofdayunder the debugger
820	  to [perl #30755] reported by Nigel Sandever
821
822	- Cygwin: Use the Win32 recalibration code also in Cygwin if the
823	  <w32api/windows.h> APIs are available.  Cygwin testing by
824	  Yitzchak Scott-Thoennes.
825
826	- Solaris: use -lposix4 to get nanosleep for Solaris 2.6,
827	  after that keep using -lrt, patch from Alan Burlison,
828	  bug reported in [cpan #7165]
829
8301.59	[2004-04-08]
831	- Change the Win32 recalibration limit to 0.5 seconds and tweak
832	  the documentation to blather less about the gory details of the
833	  Win32 implementation and more about the complications in general
834	  of meddling with the system clock.
835
8361.58	[2004-04-08]
837	- Document the 1.57 change better.
838
8391.57	[2004-07-04]
840	- Win32/Cygwin/MinGW: if the performance counter drifts by more
841	  than two seconds from the system clock (due to ntp adjustments,
842	  for example), recalibrate our internal counter: from Jan Dubois,
843	  based on [cpan #5933] by Jerry D. Hedden.
844
8451.56	[2004-29-02]
846	- Give a clearer message if the tests timeout (perl change #22253)
847	- Don't use /tmp or its moral equivalents (perl bug #15036,
848	  perl change #22258)
849
8501.55	[2004-01-14]
851	- Windows: mingw32 patch from Mike Pomraning (use Perl's Const64()
852	  instead of VC-specific i64 suffix)
853
8541.54	[2003-12-31]
855	- Solaris: like Tru64 (dec_osf) also Solaris need -lrt for nanosleep
856
8571.53	[2003-12-30]
858	- Windows: higher resolution time() by using the Windows
859	  performance counter API, from Jan Dubois and Anton Shcherbinin.
860	  The exact new higher resolution depends on the hardware,
861	  but it should be quite a bit better than using the basic
862	  Windows timers.
863
8641.52	[2003-10-28]
865	- In AIX (v?) with perl 5.6.1 the HiRes.t can hang after
866	  the subtest 18.  No known analysis nor fix, but added
867	  an alarm (that requires fork() and alarm()) to the test.
868
8691.51	[2003-09-22]
870	- doc tweaks from mjd (perl change #20456)
871	- NCR MP-RAS hints file added (svr4.pl) (perl change #21249)
872
8731.50	[2003-08-02]
874	- add a message (for non-core builds) to Makefile.PL about
875	  the LC_ALL=C workaround
876	- &Time::HiRes::d_nanosleep was broken (perl change #20131)
877	- the nanosleep() probe was broken (perl change #20061)
878	- use existence instead of definedness for feature probes
879	  (perl change #20043)
880	- MPE/iX tweak (perl change #20042)
881	- do not use HAS_NANOSLEEP (perl change #19898)
882
8831.49	[2003-06-23]
884	- UVuf for non-IVSIZE platforms (from Keiichiro Nagano)
885	- OS/2 can always mix subsecond sleeps with signals
886	  (part of perl change #19789)
887
8881.48	[2003-06-04]
889	- workaround for buggy gcc 2.95.3 in openbsd/sparc64
890	  (perl change #19592)
891
8921.47	[2003-05-03]
893	- do not use -lrt in Linux (from March Lehmann, perl change #19449)
894		- unnecessary (nanosleep is in libc anyway)
895		- harmful (-lrt slows down execution)
896		- incompatible (with many distributions' pthreads)
897
8981.46	[2003-04-25]
899	- do not create files in blib directories under core
900	  (perl change #19160, from rgs)
901	- detypo s/VTLARM/VTARLM/ (perl change #19328, from mjd)
902
9031.45	[2003-04-01]
904	- guarantee that $xdefine in HiRes.t is always defined
905	  (perl change #19109, from IlyaZ)
906	- a cleaner way to detect PERL_CORE (perl change #19111,
907	  from IlyaZ)
908
9091.44	[2003-03-30]
910	- add hints/irix.pl to turn off overly POSIX flags that
911	  cause hide struct timespec to be hidden (and compilation
912	  to fail) (bleadperl change #19085)
913	- documentation tweaks
914
9151.43	[2003-03-11]
916	- add c:/temp to the list of temp directories to probe
917	  so that cygwin (and win*?) builds are happy.  This was
918	  needed at least in my cygwin 1.3.20/w2k setup.
919
9201.42	[2003-01-07]
921	- modernize the constants code (from Nicholas Clark)
922
9231.41	[2003-01-03]
924	- At some point the ability to figure our the correct incdir
925	  for EXTERN.h (either a core perl build, or an installed perl)
926	  had broken (which lead into all test compiles failing with
927	  a core perl build, but thanks to the robustness of Makefile.PL
928	  nothing of this was visible).  The brokenness seemed to be
929	  caused by $ENV{PERL_CORE} not being on for core builds?
930	  Now stole a trick from the Encode that sets $ENV{PERL_CORE}
931	  right, and both styles of build should work again.
932
9331.40	[2003-01-03]
934	- Nicholas Clark noticed that the my_catdir() emulation function
935	  was broken (which means that we didn't really work for Perls
936	  5.002 and 5.003)
937	- inspired by fixing the above made the whole Makefile.PL -w
938	  and strict clean
939	- tightened up the Makefile.PL output, less whitespace
940
9411.39	[2003-10-20]
942	- fix from Craig Berry for better building in VMS with PERL_CORE
943
9441.38	[2003-10-13]
945	- no functional changes
946	- move lib/Time/HiRes.pm as Hires.pm
947	- libraries scanning was slightly broken (always scanned
948	  for a library even when $Config{libs} already had it)
949
9501.37	[2003-09-23]
951	- Ray Zimmerman ran into a race condition in Mac OS X.
952	  A 0.01-second alarm fired before the test expected.
953	  The test first slept indefinitely (blocking for signals)
954	  and only after that tested for the signal having been sent.
955	  Since the signal had already been sent, the test #12 never
956	  completed.  The solution: test first, then block.
957	- default to being silent on all probing attempts, set the
958	  environment variable VERBOSE to a true value to see the
959	  details (the probing command and the possible errors)
960
9611.36	[2003-09-12]
962	- do not clear MAN3PODS in Makefile.PL (Radoslaw Zielinski)
963	- INSTALLDIRS => 'perl' missing which means that Time::HiRes
964	  cannot be upgraded from CPAN to override the 5.8.0 version
965	  (Guido A. Ostkamp)
966	- Time::HiRes 1.35 could not be dropped as-is to bleadperl
967	  because the include directories did not adjust themselves
968	  if $ENV{PERL_CORE} (Hugo van der Sanden)
969	- add documentation about the restart of select() under alarm()
970
9711.35	[2003-08-24]
972	- small documentation tweaks
973
974
9751.34	[2003-08-22]
976	- better VMS operation (Craig Berry)
977
9781.33	[2003-08-20]
979	- our time machine is accelerating: now works with Perl 5.004_01
980	  (tried with 5.003_07 and 5.002 but I get segmentation faults
981	   from running the Makefile.PL with those in Tru64 4.0D)
982
9831.32	[2003-08-20]
984	- backward compatibility (pre-5.6.0) tweaks:
985	  - no XSLoader in 5.00503, use DynaLoader instead
986	  - no SvPV_nolen, either
987	  - no PerlProc_pause(), either
988	  - now tested with 5.00404 and 5.00503
989	  - Makefile.PL requires 5.00404 (no more 5.002)
990	- use nanosleep instead of usleep, if it is available (Wilson Snyder)
991	  (this means that one can mix subsecond sleeps with alarms)
992	- because of nanosleep we probe for -lrt and -lposix4
993	- the existence of getitimer/nanosleep/setitimer/ualarm/usleep
994	  is available by exportable constants Time::HiRes::d_func
995	  (since older Perl do not have them in %Config, and even
996	   5.8.0 does not probe for nanosleep)
997
9981.31	[2003-08-19]
999	- backward compatibility (pre-5.6.1) tweaks:
1000	  - define NV if no NVTYPE
1001	  - define IVdf if needed (note: the Devel::PPPort
1002	    in 5.8.0 does not try hard enough since
1003	    the IVSIZE might not be defined)
1004	  - define NVgf if needed
1005	  - grab the typemap from 5.8.0 for the NV stuff
1006
1007	1.31 and 1.32 add more backward compatibility (now all the way
1008	back to Perl 5.00404), and using nanosleep() (if available) for
1009	subsecond sleeps.
1010
10111.30	[2003-08-16]
1012
1013	- release 1.29_02 as 1.30
1014
1015	1.30 adds all the changes made during the Perl 5.6->5.7->5.8
1016	development cycle.  Most notably portability across platforms has been
1017	enhanced, and the interval timers (setitimer, getitimer) have been
1018	added.  Note that the version of Time::HiRes that is included in Perl
1019	5.8.0 calls itself 1.20_00, but it is equivalent to this Time::HiRes
1020	version.  Note also that in 1.30 Wegscheid turns over the maintenance
1021	to Jarkko Hietaniemi.
1022
10231.29_02	[2003-08-16]
1024
1025	- fix a silly unclosed comment typo in HiRes.xs
1026	- document and export REALTIME_REALPROF (Solaris)
1027
10281.29_01	[2003-08-16]
1029
1030	- only getitimer(ITIMER_REAL) available in Cygwin and Win32
1031	  (need to patch this also in Perl 5.[89])
1032	- remove CVS revision log from HiRes.xs
1033
10341.29_00	[2003-08-14]
1035
1036	The following numbered patches refer to the Perl 5.7 changes,
1037	you can browse them at http://public.activestate.com/cgi-bin/perlbrowse
1038
1039	- 17558: Add #!./perl to the .t
1040	- 17201: linux + usemorebits fix, from Rafael Garcia-Suarez
1041	- 16198: political correctness, from Simon Cozens
1042	- 15857: doc tweaks, from Jarkko Hietaniemi
1043	- 15593: optimization in .xs, from Paul Green
1044	- 14892: pod fixes, from Robin Barker
1045	- 14100: VOS fixes, from Paul Green
1046	- 13422: XS segfault, from Marc Lehmann
1047	- 13378: whether select() gets restarted on signals, depends
1048	- 13354: timing constraints, again, from Andy Dougherty
1049	- 13278: can't do subsecond alarms with ualarm;
1050		 break out early if alarms do not seem to be working
1051	- 13266: test relaxation (cygwin gets lower hires
1052		 times than lores ones)
1053	- 12846: protect against high load, from Jarkko Hietaniemi
1054	- 12837: HiRes.t VMS tweak, from Craig A. Berry
1055	- 12797: HiRes.t VMS tweak, from Charles Lane
1056	- 12769: HiRes.t VMS tweak, from Craig A. Berry
1057	- 12744: gcc vs MS 64-bit constant syntax, from Nick Ing-Simmons
1058	- 12722: VMS ualarm for VMS without ualarm, from Charles Lane
1059	- 12692: alarm() ain't gonna work if ualarm() ain't,
1060		 from Gurusamy Sarathy
1061	- 12680: minor VMS tweak, from Charles Lane
1062	- 12617: don't try to print ints as IVs, from Jarkko Hietaniemi
1063	- 12609: croak on negative time, from Jarkko Hietaniemi
1064	- 12595: Cygwin rounds up for time(), from Jarkko Hietaniemi
1065	- 12594: MacOS Classic timeofday, from Chris Nandor
1066	- 12473: allow for more than one second for sleep() and usleep()
1067	- 12458: test tuning, relax timing constraints,
1068		 from Jarkko Hietaniemi
1069	- 12449: make sleep() and usleep() to return the number
1070		 of seconds and microseconds actually slept (analogously
1071		 with the builtin sleep()), also make usleep() croak if
1072		 asked for more than 1_000_000 useconds, from Jarkko Hietaniemi
1073	- 12366: Time::HiRes for VMS pre-7.0, from Charles Lane
1074	- 12199: do not use ftime on Win32, from Gurusamy Sarathy
1075	- 12196: use ftime() on Win32, from Artur Bergman
1076	- 12184: fix Time::HiRes gettimeofday() on Win32, from Gurusamy Sarathy
1077	- 12105: use GetSystemTime() on Win32, from Artur Bergman
1078	- 12060: explain the 1e9 seconds problem, from Jarkko Hietaniemi
1079	- 11901: UNICOS sloppy division, from Jarkko Hietaniemi
1080	- 11797: problem in HiRes.t, from John P. Linderman
1081	- 11414: prototype from Time::HiRes::sleep(), from Abhijit Menon-Sen
1082	- 11409: Time::HiRes qw(sleep) failed, from Abhijit Menon-Sen
1083	- 11270: dynix/ptx 4.5.2 hints fix, from Peter Prymmer
1084	- 11032: VAX VMS s/div/lib\$ediv/ fix, from Peter Prymmer
1085	- 11011: VAX VMS s/qdiv/div/ fix, from Peter Prymmer
1086	- 10953: SCO OpenServer 5.0.5 requires an explicit -lc for usleep(),
1087		 from Jonathan Stowe
1088	- 10942: MPE/IX test tweaks, from Mark Bixby
1089	- 10784: unnecessary pod2man calls, from Andy Dougherty
1090	- 10354: ext/ + -Wall, from Doug MacEachern
1091	- 10320: fix the BOOT section to call myU2time correctly
1092	- 10317: correct casting for AIX< from H. Merijn Brand
1093	- 10119: document that the core time() may be rounding, not truncating
1094	- 10118: test fix, from John Peacock
1095	-  9988: long =item, from Robin Barker
1096	-  9714: correct test output
1097	-  9708: test also the scalar aspect of getitimer()
1098	-  9705: Add interval timers (setitimer, getitimer)
1099	-  9692: do not require at least 5.005 using XS
1100
1101	The following changes were made on top of the changes
1102	made for Time::HiRes during the Perl 5.7 development
1103	cycle that culminated in the release of Perl 5.8.0.
1104
1105	- add "require 5.005" to the Makefile.PL
1106	- remove the REVISION section (CVS log) from HiRes.pm
1107	- add jhi's copyright alongside Douglas'
1108	- move HiRes.pm to lib/Time/
1109	- move HiRes.t to t/
1110	- modify HiRes.t to use $ENV{PERL_CORE}
1111	- modify the original Time::HiRes version 1.20 Makefile.PL
1112	  to work both with Perl 5.8.0 and the new code with pre-5.8.0
1113	  Perls (tried with 5.6.1)
1114	- tiny tweaks and updates in README and TODO
1115	- bump the VERSION to 1.29
1116
11171.20  Wed Feb 24 21:30 1999
1118	- make our usleep and ualarm substitutes into hrt_usleep
1119	  and hrt_ualarm. This helps static links of Perl with other
1120	  packages that also have usleep, etc. From
1121	  Ilya Zakharevich <ilya@math.ohio-state.edu>
1122	- add C API stuff. From Joshua Pritikin
1123	  <joshua.pritikin@db.com>
1124	- VMS Makefile.PL fun.	From pvhp@forte.com (Peter Prymmer)
1125	- hopefully correct "-lc" fix for SCO.
1126	- add PPD stuff
1127
1128	1.20 adds a platform neutral set of C accessible routines if you are
1129	running 5.005+.  All other changes are packaging changes and build
1130	fixes(?) for statically linked Perl, SCO, and VMS.
1131
11321.19  Tue Sep 29 22:30 1998
1133	- put VMS gettimeofday() in. Patch is from Sebastian Bazley
1134	  <seb@stian.demon.co.uk>
1135	- change GIMME_V to GIMME to help people with older versions of
1136	  Perl.
1137	- fix Win32 version of gettimeofday(). It didn't affect anything,
1138	  but it confuses people reading the code when the return value
1139	  is backwards (0 is success).
1140	- fix Makefile.PL (more) so that detection of gettimeofday is
1141	  more correct.
1142
1143	1.19 has better VMS support.
1144
11451.18  Mon Jul 6 22:40 1998
1146	- add usleep() for Win32.
1147	- fix Makefile.PL to fix reported HP/UX feature where unresolved
1148	  externals still cause an executable to be generated (though no
1149	  x bit set). Thanks to David Kozinn for report and explanation.
1150	  Problems with the fix are mine :)
1151
1152	1.18 has limited Win32 support (no ualarm). Added usleep for Win32.
1153	Probably buggy. I'm sure I'll hear.
1154
11551.17  Wed Jul 1 20:10 1998
1156	- fix setitimer calls so microseconds is not more than 1000000.
1157	  Hp/UX 9 doesn't like that. Provided by Roland B Robert, PhD.
1158	- make Win32. We only get gettimeofday (the select hack doesn't
1159	  seem to work on my Win95 system).
1160	- fix test 4 on 01test.t. add test to see if time() and
1161	  Time::HiRes::time() are close.
1162
11631.16  Wed Nov 12 21:05 1997
1164	- add missing EXTEND in new gettimeofday scalar code.
1165
1166	1.16+ should be closer to building out of the box on Linux. Thanks
1167	to Gisle Aas for patches, and the ualarm equivalent using setitimer.
1168
1169	If your underlying operating system doesn't implement ualarm(), then
1170	a fake using setitimer() will be made.  If the OS is missing usleep(),
1171	a fake one using select() will be made. If a fake can't be made for
1172	either ualarm() or usleep(), then the corresponding Perl function will
1173	not be available.  If the OS is missing gettimeofday(), you will get
1174	unresolved externals, either at link- or run-time.
1175
1176	This is an improvement; the package used to not even build if
1177	you were missing any of these bits. Roderick Schertler
1178
1179	<roderick@argon.org> did all the conditional compilation stuff,
1180	look at HiRes.pm and the test suites; it's good educational reading.
1181
11821.15  Mon Nov 10 21:30 1997
1183	- HiRes.pm: update pod. Provided by Gisle Aas.
1184	- HiRes.xs: if gettimeofday() called in scalar context, do
1185	  something more useful than before. Provided by Gisle Aas.
1186	- README: tell of xsubpp '-nolinenumber' woes. thanks to
1187	  Edward Henigin <ed@texas.net> for pointing out the problem.
1188
11891.14  Wed Nov 5 9:40 1997
1190	- Makefile.PL: look for setitimer
1191	- HiRes.xs: if missing ualarm, but we have setitimer, make up
1192	  our own setitimer. These were provided by Gisle Aas.
1193
11941.13  Tue Nov 4 23:30 1997
1195	- Makefile.PL: fix autodetect mechanism to do try linking in addition
1196	  to just compiling; should fix Linux build problem. Fix was provided
1197	  by Gisle Aas.
1198
11991.12  Sun Oct 12 12:00:00 1997
1200	- Makefile.PL: set XSOPT to '-nolinenumbers' to work around xsubpp bug;
1201	  you may need to comment this back out if you have an older xsubpp.
1202	- HiRes.xs: set PROTOTYPES: DISABLE
1203
12041.11  Fri Sep 05 16:00:00 1997
1205	- Makefile.PL:
1206	  Had some line commented out that shouldn't have been (testing
1207	  remnants)
1208	- README:
1209	  Previous version was corrupted.
1210
12111.10  Thu May 22 20:20:00 1997
1212	- HiRes.xs, HiRes.pm, t/*:
1213	      -	only compile what we have OS support for (or can
1214		fake with select())
1215	      - only test what we compiled
1216	      - gross improvement to the test suite
1217	      - fix EXPORT_FAIL.
1218	  This work was all done by Roderick Schertler
1219	  <roderick@argon.org>. If you run Linux or
1220	  one of the other ualarm-less platforms, and you like this
1221	  module, let Roderick know; without him, it still wouldn't
1222	  be working on those boxes...
1223	- Makefile.PL: figure out what routines the OS has and
1224	  only build what we need. These bits were written by Jarkko
1225	  Hietaniemi <jhi@iki.fi>. Again, gratitude is due...
1226
12271.02  Mon Dec 30 08:00:00 1996
1228	- HiRes.pm: update documentation to say what to do when missing
1229	  ualarm() and friends.
1230	- README: update to warn that ualarm() and friends need to exist
1231
12321.01  Fri Oct 17 08:00:00 1996
1233	- Makefile.PL: make XSPROTOARGS => '-noprototyopes'
1234	- HiRes.pm: put blank line between __END__ and =head1 so that
1235	  pod2man works.
1236
12371.00  Tue Sep 03 13:00:00 1996
1238	- original version; created by h2xs 1.16
1239