This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlapi: Remove per-thread section; move to real scns
[perl5.git] / dist / Time-HiRes / Changes
CommitLineData
df003a36
JH
1Revision history for the Perl extension Time::HiRes.
2
e27e0631
N
3{{NEXT}}
4
1d9936f4
N
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
e27e0631
N
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
a3815e44 23 can't be in sub init() because that sub isn't called on windows
e27e0631
N
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
e7719536
TR
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
e27e0631
N
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
5338f9f7
SH
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
de3293c0
CBW
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
8eedd56d
CBW
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]
b9a5a78f 140
8da08029
CBW
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]
af94b3ac 167 - correct declared minimum Perl version (should be 5.6, was declared
8da08029
CBW
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
af94b3ac 170
5cd155b0
CBW
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
12389a22
CBW
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)
1c566547 189
3a57bd4d
JK
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
c4a535af
SH
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
f3dd6bae 2451.9733 [2016-04-23]
b011e696
JH
246 - C90 declaration-after-statement error with darwin threads: blead de1003b4
247 [rt.cpan.org #113856]
f3dd6bae 248
02fb1e6b
JH
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
e7185dd0 2551.9731 [2016-03-13]
febe9c7a
JH
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
919ca095
JH
261 - static funcs in HiRes.xs: 4e922c26
262 - Remove unused variable: 52ffb1b5
263
1625f1d3
JH
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
bcd2c0ef
JH
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
df003a36
JH
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)
b88265bf 406 - document all the diagnostics
df003a36
JH
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():
b88265bf 544
df003a36
JH
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
b88265bf 774 (and therefore verifying a possible fix) in the same environment
df003a36
JH
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
a3815e44 1002 in 5.8.0 does not try hard enough since
df003a36
JH
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
b88265bf 1065 - 12594: MacOS Classic timeofday, from Chris Nandor
df003a36
JH
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
b88265bf 1083 - 11270: dynix/ptx 4.5.2 hints fix, from Peter Prymmer
df003a36
JH
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
b88265bf 1089 - 10784: unnecessary pod2man calls, from Andy Dougherty
df003a36
JH
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
b88265bf 1100
df003a36
JH
1101 The following changes were made on top of the changes
1102 made for Time::HiRes during the Perl 5.7 development
b88265bf 1103 cycle that culminated in the release of Perl 5.8.0.
df003a36
JH
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
b88265bf 1118 - make our usleep and ualarm substitutes into hrt_usleep
df003a36
JH
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).
b88265bf 1160 - fix test 4 on 01test.t. add test to see if time() and
df003a36
JH
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/*:
b88265bf 1213 - only compile what we have OS support for (or can
df003a36 1214 fake with select())
b88265bf 1215 - only test what we compiled
df003a36 1216 - gross improvement to the test suite
b88265bf 1217 - fix EXPORT_FAIL.
df003a36
JH
1218 This work was all done by Roderick Schertler
1219 <roderick@argon.org>. If you run Linux or
b88265bf
JH
1220 one of the other ualarm-less platforms, and you like this
1221 module, let Roderick know; without him, it still wouldn't
df003a36
JH
1222 be working on those boxes...
1223 - Makefile.PL: figure out what routines the OS has and
b88265bf 1224 only build what we need. These bits were written by Jarkko
df003a36
JH
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'
b88265bf 1234 - HiRes.pm: put blank line between __END__ and =head1 so that
df003a36
JH
1235 pod2man works.
1236
12371.00 Tue Sep 03 13:00:00 1996
1238 - original version; created by h2xs 1.16