Fix Time-HiRes linker error on Win32 introduced by upgrades
[p5sagit/p5-mst-13.2.git] / ext / Time / HiRes / Changes
CommitLineData
75d5269b 1Revision history for the Perl extension Time::HiRes.
dcf686c9 2
71ac5476 31.96 [2006-30-11]
4 - 1.95 broke builds for threaded Perls
5 - use main() prototype consistently in Makefile.PL
6
7b9ffbef 71.95 [2006-29-11]
8 - integrate core change #29180: Silence VC++ compiler warnings
9 from Steve Hay
10 - do not use PL_ppaddr in stat() because that is not available
11 in Perl 5.005_04
12 - regenerate fallback/*.inc for older Perls without
13 ExtUtils::Constant because of d_hires_stat, resolves
14 [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1
7b9ffbef 15
c36568be 161.94 [2006-10-16]
17 - file timestamps oddities seen: the atime and mtime
18 can be out of sync (modify first and read second can leave
19 atime < mtime) and mtime can be subsecond while atime is not.
20 So make the test more forgiving.
21
c09e847b 221.93 [2006-10-15]
23 - the ualarm() tests (34-37) assumed that ualarm(N)
24 could never alarm in less than N seconds, widened
25 the acceptable relative range to 0.9..1.5. Addresses
26 [rt.cpan.org #22090] and [rt.cpan.org #22091].
27
28 - skip the stat() tests in cygwin and win32, because
29 if run on FAT the timestamp granularity is only 2 seconds.
30 Any good way to detect (cygwin or win32) whether we are
7b9ffbef 31 being run on NTFS or anywhere with better timestamps?
c09e847b 32 Addresses [rt.cpan.org #22089] and [rt.cpan.org #22098].
33
75d5269b 341.92 [2006-10-13]
35 - scan for subsecond resolution timestamps in struct stat,
36 some known possibilities:
37
38 (1) struct timespec st_atimespec;
39 st_atimespec.tv_nsec;
40 (2) time_t st_atime;
41 long st_atimensec;
42 (3) time_t st_atime;
43 int st_atime_n;
44 (4) timestruc_t st_atim;
45 st_atim.tv_nsec
46 (5) time_t st_atime;
47 int st_uatime;
48
49 If something like this is found, one can do
50
51 use Time::HiRes;
52 my @stat = Time::HiRes::stat();
53
54 or even override the standard stat():
55
56 use Time::HiRes qw(stat);
57
58 to get the stat() timestamps
59
60 my ($atime, $mtime, $ctime) = @stat[8, 9, 10];
61
62 with subsecond resolution (assuming both the operating
63 system and the filesystem support that kind of thing).
64
65 Contributions for more systems (especially non-UNIX,
7b9ffbef 66 e.g. but not limited to: Win32, VMS, OS/2) gladly accepted.
75d5269b 67
68 Thanks to H.Merijn Brand, John Peacock, and Craig
69 Berry for brave beta testing.
70
711.91 [2006-09-29]
34f69483 72 - ualarm() in SuSE 10.1 was overflowing after ~4.2 seconds,
75d5269b 73 possibly due to a glibc bug/feature, workaround by using the
74 setitimer() implementation of ualarm() if either useconds or
75 interval > 999_999 (this case seems to vary between systems:
76 are useconds more than 999_999 for ualarm() defined or not)
77 Added more ualarm() tests to catch various overflow points,
78 hopefully no problems in various platforms.
79 (The problem report by Mark Seger and Jon Paul Sullivan of HP.)
34f69483 80
f445b110 811.90 [2006-08-22]
82 - tweak still needed for Const64(), from Jerry Hedden
83 - get a freshly generated ppport.h
84 - update Copyright years
85
b69b1b83 861.89 [2006-08-22]
87 - Const64() already appends an 'LL' (or i64), so provide LL and i64
f445b110 88 forms for the IV_1E[679] (effects Win32 and Cygwin), reported by
89 Jerry Hedden.
75d5269b 90 - the Changes entry for 1.88 talked about [IN]V_1[679],
91 missing the 'E'.
b69b1b83 92
47e797f6 931.88 [2006-08-21]
94 - clean up the g++ warnings in HiRes.xs, all of them
95 about mixing integer and floating point, introduce
b69b1b83 96 constants IV_1E[679] and NV_1E[679]
47e797f6 97
9b15102a 981.87 [2006-02-13]
99 - [rt.cpan.org #17442] 'make test' frequently fails under
100 Cygwin Perl v5.8.8, reported and patched by J. R. Hedden
101 (two race condition bugs in the END block in the case the
102 main process dies before the timer process, unearthed
103 by a bug in Cygwin ualarm)
104
ff7df920 1051.86 [2005-12-17]
106 - HiRes.t:s/ok 32/ok 33/, from Dominic Dunlop
107 - tighten up the clock() test marginally by requiring non-negative
108 - clock_nanosleep() and clock() doc tweaks
109
170c5524 1101.85 [2005-12-16]
111 - the interface to clock_nanosleep() is more natural
112 when it is like (hires) time() (instead of like nanosleep),
113 and the .xs implementation of clock_nanosleep() in 1.84
114 was broken anyway
115 - the semantics of clock() are not quite so silly as I thought,
116 but still somewhat odd, documented as such
117 - additional enhancements to the clock() documentation
118 - add test for clock_nanosleep() (I cannot test this
119 since none of my systems have the function)
120 - add test for clock()
121
1221.84 [2005-12-16]
123 - add clock() which returns the processor time in
124 (floating point) seconds since an arbitrary era
125 - add clock_nanosleep() which suspends the current
126 thread until either absolute time or for relative time
127 - [rt.cpan.org #16486] printf missing value in HiRes.t
128 - add constants CLOCKS_PER_SEC, CLOCK_SOFTTIME, TIMER_ABSTIME
129 - tiny typo fixes
130
a5929ff3 1311.83 [2005-11-19]
132 - has_symbol() was wrong since e.g. ITIMER_VIRTUAL is exported
133 via @EXPORT_OK even when it is not available. This is heinous.
134 @EXPORT_OK should be determined at Makefile.PL time.
135 - be more lenient is testing clock_gettime(): allow more slop,
136 and retry up to three times, sleeping a random nap between
137 the retries
138 - human months are one-based (noticed by Anton Berezin)
139
82cbdcc3 1401.82 [2005-10-06]
141 - CLOCK_REALTIME is an enum value (of the clockid_t enum)
142 in HP-UX (and might be so elsewhere, too), debugged by
143 H. Merijn Brand
144 - include const-c.inc as late as possible (from Randy Kobes,
145 [rt.cpan.org #15552] to avoid undefined usleep() on Win32
146
a5929ff3 1471.81 [2005-11-05]
b311af62 148 - try to be more robust and consistent in the detection of
149 CLOCK_REALTIME and ITIMER_VIRTUAL in HiRes.t: the proper
150 way is
151
152 sub has_symbol {
153 my $symbol = shift;
154 eval 'import Time::HiRes qw($symbol)';
155 return 0 unless $@ eq '';
156 return exists ${"Time::HiRes::$symbol"};
157 }
158
159 and then use
160
161 &FOO_BAR
162
163 in the test. All these moves are needed because
164
165 1) one cannot directly do eval 'Time::HiRes::FOO_BAR'
166 because FOO_BAR might have a true value of zero
167 (or in the general case an empty string or even undef)
168
169 2) In case FOO_BAR is not available in this platform,
170 &FOO_BAR avoids the bareword warning
171
172 - wait more (1.5 seconds instead of 0.1) for the CLOCK_REALTIME test
173 but expect the 'customary' slop of 0.20 instead of 0.25
174 - fixed inside a comment HAS_POLL -> TIME_HIRES_NANOSLEEP
175 - at the end of HiRest.t tell how close we were to termination
176
a5929ff3 1771.80 [2005-11-04]
70cf0185 178 - Gisle noticed a mistake (using HAS_NANOSLEEP) in 1.79
179
a5929ff3 1801.79 [2005-11-03]
e5433ad8 181 - try nanosleep for emulating usleep -- may help in some weird
182 embedded realtime places which have nanosleep but neither usleep
183 nor select nor poll (doesn't have to be weird embedded realtime
184 place, though -- in many places usleep is nanosleep anyway)
185 - try poll for emulating usleep -- this may help some obscure/old
186 SVR4 places that have neither usleep nor select
187 - a redundant test guard in HiRes.t
188
a5929ff3 1891.78 [2005-11-03]
1a7d3a53 190 - ITIMER_VIRTUAL detection in HiRes.t had problems (that we cannot
e5433ad8 191 in the general case fail already at 'use' phase is suboptimal)
1a7d3a53 192 - fixes to the documentation of clock_gettime() and clock_getres()
193
a5929ff3 1941.77 [2005-11-03]
ced84e60 195 - add support for the POSIX clock_gettime() and clock_getres(),
196 if available, either as library calls or as syscalls
197 - be more defensive about missing functionality: break out
198 early (during 'use') if no e.g. clock_getres() is available,
199 and protect our back by trapping those cases also in HiRes.xs
200 - the test added in 1.76 could cause an endless loop e.g. in Solaris,
201 due to mixing of sleep() and alarm() (bad programmer, no cookie!)
202
3d0346a5 2031.76 [2005-10-22]
204 - testing for nanosleep had wrong logic which caused nanosleep
205 to become undefined for e.g. Mac OS X
206 - added a test for a core dump that was introduced by Perl 5.8.0
207 safe signals and was fixed for the time of 5.8.1 (one report of
208 the core dump was [perl #20920]), the test skipped pre-5.8.1.
209 - *cough* s/unanosleep/nanosleep/g; *cough*
210
9649b81b 2111.75 [2005-10-18]
212 - installation patch from Gisle Aas: in Perls 5.8.x and later
213 use MakeMaker INSTALLDIRS value of 'perl' instead of 'site'.
214
06252d99 2151.74 [2005-09-19]
216 - [cpan #14608] Solaris 8 perl 5.005_03 File::Spec module does not have method rel2abs
217 (the workaround is not to use rel2abs, should not be necessary)
218 - [cpan #14642] U2time wrongly exported on the C API
219 (patch supplied by the reporter, SALVA@cpan.org)
220 - add release dates to Changes
221
2221.73 [2005-08-16]
223 - Time::HiRes::nanosleep support for Solaris [PATCH]
937b804e 224 (POSIX::uname() not available if building with core perl,
225 from Gisle Aas, via perl5-porters, perl change #25295)
226
06252d99 2271.72 [2005-07-01]
228 - going back to the 1.68 loader setup (using DynaLoader)
0cf8ddea 229 since too many weird things starting breaking
230 - fix a typo in José Auguste-Etienne's name
231
06252d99 2321.71 [2005-06-28]
233 - a thinko in the nanosleep() detection
56c1b3bd 234 - move more changes stuff from the README to Changes
235 - add -w to the Makefile.PL
236
06252d99 2371.70 [2005-06-26]
238 - oops in 1.69 about @ISA (not affecting anything but silly)
f8daf111 239 - add copyright 2005 to HiRes.pm
240 - add copyright and license to HiRes.xs
56c1b3bd 241 - add copyrights 2003, 2004, 2005 to README
f8daf111 242
06252d99 2431.69 [2005-06-25]
244 - actually run a test for nanosleep
56c1b3bd 245 (if there is no $Config{d_nanosleep}) since e.g. in AIX 4.2
26e22fd9 246 it seems that one can link in nanosleep() but then calling
247 it fails instantly and sets errno to ENOSYS (Not implemented).
248 This may be fixable in the AIX case by figuring out the right
249 (realtime POSIX?) libs and whatnot, but in the general case
250 running a real test case is better. (Of course, this change
251 will no doubt run into portability problems because of the
0cf8ddea 252 execution step...) Note that because of hysterical raisins
253 most Perls do NOT have $Config{d_nanosleep} (scanning for
254 it by Configure would in many platforms require linking in
255 things like -lrt, which would in many platforms be a bad idea
256 for Perl itself).
257 (from José Auguste-Etienne)
26e22fd9 258 - support XSLoader also since it's much faster
259 (from Alexey Tourbin)
260 - add SEE ALSO (BSD::Resource and Time::TAI64)
261
06252d99 2621.68 [2005-05-14]
993164ab 263 - somehow 1.67 had a lot of doubled lines (a major cut-and-paste
264 error suspected), but miraculously it still worked since the
265 doubling took place below the __END__ token
266 - undef Pause() before defining it to avoid redefinition warnings
267 during compilation in case perl.h had already defined Pause()
268 (part of perl change #24271)
269 - minor doc tweaks
270
06252d99 2711.67 [2005-05-04]
993164ab 272 - (internal) don't ignore the return value of gettimeofday()
273 - (external) return undef or an empty if the C gettimeofday() fails
274 (affects Time::HiRes gettimeofday() and the hires time())
275
06252d99 2761.66 [2004-12-19]
44d3ce20 277 - add nanosleep()
278 - fix the 'hierachy' typo in Makefile.PL [rt.cpan.org #8492]
279 - should now build in Solaris [rt.cpan.org #7165] (since 1.64)
280 - should now build in Cygwin [rt.cpan.org #7535] (since 1.64)
82cbdcc3 281 - close also [rt.cpan.org #5933] "Time::HiRes::time does not
282 pick up time adjustments like ntp" since ever reproducing it
283 (and therefore verifying a possible fix) in the same environment
44d3ce20 284 has become rather unlikely
285
06252d99 2861.65 [2004-09-18]
64a7a97c 287 - one should not mix u?alarm and sleep (the tests modified
288 by 1.65, #12 and #13, hung in Solaris), now we just busy
289 loop executing an empty block
290 - in the documentation underline the unspecificity of mixing
291 sleeps and alarms
292 - small spelling fixes
293
06252d99 2941.64 [2004-09-16]
64a7a97c 295 - regenerate ppport.h with Devel::PPPort 3.03,
296 now the MY_CXT_CLONE is defined in ppport.h,
297 we no more need to do that.
298
299 - the test #12 would often hang in sigsuspend() (at least that's
300 where Mac OS X' ktrace shows it hanging). With the sleep()s
301 changed to sleep(1)s, the tests still pass but no hang after
302 a few hundred repeats.
303
06252d99 3041.63 [2004-09-01]
1fbb4de4 305 - Win32 and any ithread build: ppport.h didn't define
170c5524 306 MY_CXT_CLONE, which seems to be a Time-HiRes-ism.
1fbb4de4 307
06252d99 3081.62 [2004-08-31]
1fbb4de4 309 - Skip testing if under PERL_CORE and Time::HiRes has not
310 been Configured (from Marcus Holland-Moritz, core change
311 #23246)
312 - Use ppport.h generated by Devel::PPPort 3.01,
313 allowing cutting away our own portability code.
314 - Don't use $ENV{PERL_CORE} for < 5.6.0.
315 - Don't use "for my $i" for <= 5.003.
316 - Don't use Pause() for <= 5.003.
317 - Can't use newSVpvf for <= 5.003.
318 (most of the changes from Marcus)
319
06252d99 3201.61 [2004-08-21]
4ed0e2d4 321 - Win32: reset reading from the performance counters every
322 five minutes to better track wall clock time (thanks to
323 PC timers being often quite bad), should help long-running
324 programs.
325
06252d99 3261.60 [2004-08-15]
4ed0e2d4 327 - Win32: Patch from Steve Hay
328 [PATCH] Re: [perl #30755] [Win32] Different results from Time::HiRes::gettimeofdayunder the debugger
329 to [perl #30755] reported by Nigel Sandever
330
331 - Cygwin: Use the Win32 recalibration code also in Cygwin if the
332 <w32api/windows.h> APIs are available. Cygwin testing by
333 Yitzchak Scott-Thoennes.
334
335 - Solaris: use -lposix4 to get nanosleep for Solaris 2.6,
336 after that keep using -lrt, patch from Alan Burlison,
337 bug reported in [cpan #7165]
338
06252d99 3391.59 [2004-04-08]
d8cb5b61 340 - Change the Win32 recalibration limit to 0.5 seconds and tweak
341 the documentation to blather less about the gory details of the
342 Win32 implementation and more about the complications in general
343 of meddling with the system clock.
344
06252d99 3451.58 [2004-04-08]
d8cb5b61 346 - Document the 1.57 change better.
347
06252d99 3481.57 [2004-07-04]
d8cb5b61 349 - Win32/Cygwin/MinGW: if the performance counter drifts by more
350 than two seconds from the system clock (due to ntp adjustments,
c1dc6e7c 351 for example), recalibrate our internal counter: from Jan Dubois,
352 based on [cpan #5933] by Jerry D. Hedden.
353
06252d99 3541.56 [2004-29-02]
1caec985 355 - Give a clearer message if the tests timeout (perl change #22253)
356 - Don't use /tmp or its moral equivalents (perl bug #15036,
357 perl change #22258)
358
06252d99 3591.55 [2004-01-14]
4ed0e2d4 360 - Windows: mingw32 patch from Mike Pomraning (use Perl's Const64()
b6136f41 361 instead of VC-specific i64 suffix)
362
06252d99 3631.54 [2003-12-31]
0225372c 364 - Solaris: like Tru64 (dec_osf) also Solaris need -lrt for nanosleep
365
06252d99 3661.53 [2003-12-30]
0225372c 367 - Windows: higher resolution time() by using the Windows
368 performance counter API, from Jan Dubois and Anton Shcherbinin.
369 The exact new higher resolution depends on the hardware,
370 but it should be quite a bit better than using the basic
371 Windows timers.
372
06252d99 3731.52 [2003-10-28]
690f7c5f 374 - In AIX (v?) with perl 5.6.1 the HiRes.t can hang after
375 the subtest 18. No known analysis nor fix, but added
376 an alarm (that requires fork() and alarm()) to the test.
377
06252d99 3781.51 [2003-09-22]
b85af263 379 - doc tweaks from mjd (perl change #20456)
380 - NCR MP-RAS hints file added (svr4.pl) (perl change #21249)
381
06252d99 3821.50 [2003-08-02]
d7358e6a 383 - add a message (for non-core builds) to Makefile.PL about
384 the LC_ALL=C workaround
385 - &Time::HiRes::d_nanosleep was broken (perl change #20131)
386 - the nanosleep() probe was broken (perl change #20061)
387 - use existence instead of definedness for feature probes
388 (perl change #20043)
389 - MPE/iX tweak (perl change #20042)
390 - do not use HAS_NANOSLEEP (perl change #19898)
391
06252d99 3921.49 [2003-06-23]
df16a331 393 - UVuf for non-IVSIZE platforms (from Keiichiro Nagano)
394 - OS/2 can always mix subsecond sleeps with signals
395 (part of perl change #19789)
396
06252d99 3971.48 [2003-06-04]
2d9815af 398 - workaround for buggy gcc 2.95.3 in openbsd/sparc64
399 (perl change #19592)
400
06252d99 4011.47 [2003-05-03]
2d9815af 402 - do not use -lrt in Linux (from March Lehmann, perl change #19449)
1a08a6ab 403 - unnecessary (nanosleep is in libc anyway)
404 - harmful (-lrt slows down execution)
405 - incompatible (with many distributions' pthreads)
406
06252d99 4071.46 [2003-04-25]
25ca0970 408 - do not create files in blib directories under core
409 (perl change #19160, from rgs)
410 - detypo s/VTLARM/VTARLM/ (perl change #19328, from mjd)
411
06252d99 4121.45 [2003-04-01]
25ca0970 413 - guarantee that $xdefine in HiRes.t is always defined
414 (perl change #19109, from IlyaZ)
415 - a cleaner way to detect PERL_CORE (perl change #19111,
416 from IlyaZ)
417
06252d99 4181.44 [2003-03-30]
0be47ac6 419 - add hints/irix.pl to turn off overly POSIX flags that
420 cause hide struct timespec to be hidden (and compilation
25ca0970 421 to fail) (bleadperl change #19085)
0be47ac6 422 - documentation tweaks
423
06252d99 4241.43 [2003-03-11]
a0c8e3cf 425 - add c:/temp to the list of temp directories to probe
426 so that cygwin (and win*?) builds are happy. This was
427 needed at least in my cygwin 1.3.20/w2k setup.
428
06252d99 4291.42 [2003-01-07]
98b50af3 430 - modernize the constants code (from Nicholas Clark)
431
06252d99 4321.41 [2003-01-03]
98b50af3 433 - At some point the ability to figure our the correct incdir
434 for EXTERN.h (either a core perl build, or an installed perl)
435 had broken (which lead into all test compiles failing with
436 a core perl build, but thanks to the robustness of Makefile.PL
a0c8e3cf 437 nothing of this was visible). The brokenness seemed to be
438 caused by $ENV{PERL_CORE} not being on for core builds?
439 Now stole a trick from the Encode that sets $ENV{PERL_CORE}
440 right, and both styles of build should work again.
98b50af3 441
06252d99 4421.40 [2003-01-03]
98b50af3 443 - Nicholas Clark noticed that the my_catdir() emulation function
444 was broken (which means that we didn't really work for Perls
445 5.002 and 5.003)
446 - inspired by fixing the above made the whole Makefile.PL -w
447 and strict clean
448 - tightened up the Makefile.PL output, less whitespace
449
06252d99 4501.39 [2003-10-20]
6a20eacc 451 - fix from Craig Berry for better building in VMS with PERL_CORE
452
06252d99 4531.38 [2003-10-13]
3f2ee006 454 - no functional changes
455 - move lib/Time/HiRes.pm as Hires.pm
456 - libraries scanning was slightly broken (always scanned
457 for a library even when $Config{libs} already had it)
458
06252d99 4591.37 [2003-09-23]
3f2ee006 460 - Ray Zimmerman ran into a race condition in Mac OS X.
461 A 0.01-second alarm fired before the test expected.
462 The test first slept indefinitely (blocking for signals)
463 and only after that tested for the signal having been sent.
464 Since the signal had already been sent, the test #12 never
465 completed. The solution: test first, then block.
466 - default to being silent on all probing attempts, set the
467 environment variable VERBOSE to a true value to see the
468 details (the probing command and the possible errors)
469
06252d99 4701.36 [2003-09-12]
3f2ee006 471 - do not clear MAN3PODS in Makefile.PL (Radoslaw Zielinski)
472 - INSTALLDIRS => 'perl' missing which means that Time::HiRes
473 cannot be upgraded from CPAN to override the 5.8.0 version
474 (Guido A. Ostkamp)
475 - Time::HiRes 1.35 could not be dropped as-is to bleadperl
476 because the include directories did not adjust themselves
477 if $ENV{PERL_CORE} (Hugo van der Sanden)
478 - add documentation about the restart of select() under alarm()
479
06252d99 4801.35 [2003-08-24]
3f2ee006 481 - small documentation tweaks
482
483
06252d99 4841.34 [2003-08-22]
3f2ee006 485 - better VMS operation (Craig Berry)
486
06252d99 4871.33 [2003-08-20]
3f2ee006 488 - our time machine is accelerating: now works with Perl 5.004_01
489 (tried with 5.003_07 and 5.002 but I get segmentation faults
490 from running the Makefile.PL with those in Tru64 4.0D)
491
06252d99 4921.32 [2003-08-20]
3f2ee006 493 - backward compatibility (pre-5.6.0) tweaks:
494 - no XSLoader in 5.00503, use DynaLoader instead
495 - no SvPV_nolen, either
496 - no PerlProc_pause(), either
497 - now tested with 5.00404 and 5.00503
498 - Makefile.PL requires 5.00404 (no more 5.002)
499 - use nanosleep instead of usleep, if it is available (Wilson Snyder)
500 (this means that one can mix subsecond sleeps with alarms)
501 - because of nanosleep we probe for -lrt and -lposix4
502 - the existence of getitimer/nanosleep/setitimer/ualarm/usleep
503 is available by exportable constants Time::HiRes::d_func
504 (since older Perl do not have them in %Config, and even
505 5.8.0 does not probe for nanosleep)
506
06252d99 5071.31 [2003-08-19]
3f2ee006 508 - backward compatibility (pre-5.6.1) tweaks:
509 - define NV if no NVTYPE
510 - define IVdf if needed (note: the Devel::PPPort
511 in 5.8.0 does not try hard hard enough since
512 the IVSIZE might not be defined)
513 - define NVgf if needed
514 - grab the typemap from 5.8.0 for the NV stuff
56c1b3bd 515
516 1.31 and 1.32 add more backward compatibility (now all the way
517 back to Perl 5.00404), and using nanosleep() (if available) for
518 subsecond sleeps.
519
06252d99 5201.30 [2003-08-16]
3f2ee006 521
522 - release 1.29_02 as 1.30
523
56c1b3bd 524 1.30 adds all the changes made during the Perl 5.6->5.7->5.8
525 development cycle. Most notably portability across platforms has been
526 enhanced, and the interval timers (setitimer, getitimer) have been
527 added. Note that the version of Time::HiRes that is included in Perl
528 5.8.0 calls itself 1.20_00, but it is equivalent to this Time::HiRes
529 version. Note also that in 1.30 Wegscheid turns over the maintenance
530 to Jarkko Hietaniemi.
531
06252d99 5321.29_02 [2003-08-16]
3f2ee006 533
534 - fix a silly unclosed comment typo in HiRes.xs
535 - document and export REALTIME_REALPROF (Solaris)
536
06252d99 5371.29_01 [2003-08-16]
3f2ee006 538
539 - only getitimer(ITIMER_REAL) available in Cygwin and Win32
540 (need to patch this also in Perl 5.[89])
541 - remove CVS revision log from HiRes.xs
542
06252d99 5431.29_00 [2003-08-14]
3f2ee006 544
545 The following numbered patches refer to the Perl 5.7 changes,
546 you can browse them at http://public.activestate.com/cgi-bin/perlbrowse
547
548 - 17558: Add #!./perl to the .t
549 - 17201: linux + usemorebits fix, from Rafael Garcia-Suarez
550 - 16198: political correctness, from Simon Cozens
551 - 15857: doc tweaks, from Jarkko Hietaniemi
552 - 15593: optimization in .xs, from Paul Green
553 - 14892: pod fixes, from Robin Barker
554 - 14100: VOS fixes, from Paul Green
555 - 13422: XS segfault, from Marc Lehmann
556 - 13378: whether select() gets restarted on signals, depends
557 - 13354: timing constraints, again, from Andy Dougherty
170c5524 558 - 13278: can't do subsecond alarms with ualarm;
3f2ee006 559 break out early if alarms do not seem to be working
560 - 13266: test relaxation (cygwin gets lower hires
561 times than lores ones)
562 - 12846: protect against high load, from Jarkko Hietaniemi
563 - 12837: HiRes.t VMS tweak, from Craig A. Berry
564 - 12797: HiRes.t VMS tweak, from Charles Lane
565 - 12769: HiRes.t VMS tweak, from Craig A. Berry
566 - 12744: gcc vs MS 64-bit constant syntax, from Nick Ing-Simmons
567 - 12722: VMS ualarm for VMS without ualarm, from Charles Lane
568 - 12692: alarm() ain't gonna work if ualarm() ain't,
569 from Gurusamy Sarathy
570 - 12680: minor VMS tweak, from Charles Lane
571 - 12617: don't try to print ints as IVs, from Jarkko Hietaniemi
572 - 12609: croak on negative time, from Jarkko Hietaniemi
573 - 12595: Cygwin rounds up for time(), from Jarkko Hietaniemi
574 - 12594: MacOS Classic timeofday, from Chris Nandor
575 - 12473: allow for more than one second for sleep() and usleep()
576 - 12458: test tuning, relax timing constraints,
577 from Jarkko Hietaniemi
578 - 12449: make sleep() and usleep() to return the number
579 of seconds and microseconds actually slept (analogously
580 with the builtin sleep()), also make usleep() croak if
581 asked for more than 1_000_000 useconds, from Jarkko Hietaniemi
582 - 12366: Time::HiRes for VMS pre-7.0, from Charles Lane
583 - 12199: do not use ftime on Win32, from Gurusamy Sarathy
584 - 12196: use ftime() on Win32, from Artur Bergman
585 - 12184: fix Time::HiRes gettimeofday() on Win32, from Gurusamy Sarathy
586 - 12105: use GetSystemTime() on Win32, from Artur Bergman
587 - 12060: explain the 1e9 seconds problem, from Jarkko Hietaniemi
588 - 11901: UNICOS sloppy division, from Jarkko Hietaniemi
589 - 11797: problem in HiRes.t, from John P. Linderman
590 - 11414: prototype from Time::HiRes::sleep(), from Abhijit Menon-Sen
591 - 11409: Time::HiRes qw(sleep) failed, from Abhijit Menon-Sen
592 - 11270: dynix/ptx 4.5.2 hints fix, from Peter Prymmer
593 - 11032: VAX VMS s/div/lib\$ediv/ fix, from Peter Prymmer
594 - 11011: VAX VMS s/qdiv/div/ fix, from Peter Prymmer
595 - 10953: SCO OpenServer 5.0.5 requires an explicit -lc for usleep(),
596 from Jonathan Stowe
597 - 10942: MPE/IX test tweaks, from Mark Bixby
598 - 10784: unnecessary pod2man calls, from Andy Dougherty
599 - 10354: ext/ + -Wall, from Doug MacEachern
600 - 10320: fix the BOOT section to call myU2time correctly
601 - 10317: correct casting for AIX< from H. Merijn Brand
602 - 10119: document that the core time() may be rounding, not truncating
603 - 10118: test fix, from John Peacock
604 - 9988: long =item, from Robin Barker
605 - 9714: correct test output
606 - 9708: test also the scalar aspect of getitimer()
607 - 9705: Add interval timers (setitimer, getitimer)
608 - 9692: do not require at least 5.005 using XS
609
610 The following changes were made on top of the changes
611 made for Time::HiRes during the Perl 5.7 development
612 cycle that culminated in the release of Perl 5.8.0.
613
614 - add "require 5.005" to the Makefile.PL
615 - remove the REVISION section (CVS log) from HiRes.pm
616 - add jhi's copyright alongside Douglas'
617 - move HiRes.pm to lib/Time/
618 - move HiRes.t to t/
619 - modify HiRes.t to use $ENV{PERL_CORE}
620 - modify the original Time::HiRes version 1.20 Makefile.PL
621 to work both with Perl 5.8.0 and the new code with pre-5.8.0
622 Perls (tried with 5.6.1)
623 - tiny tweaks and updates in README and TODO
624 - bump the VERSION to 1.29
625
dcf686c9 6261.20 Wed Feb 24 21:30 1999
627 - make our usleep and ualarm substitutes into hrt_usleep
628 and hrt_ualarm. This helps static links of Perl with other
629 packages that also have usleep, etc. From
630 Ilya Zakharevich <ilya@math.ohio-state.edu>
631 - add C API stuff. From Joshua Pritikin
632 <joshua.pritikin@db.com>
3f2ee006 633 - VMS Makefile.PL fun. From pvhp@forte.com (Peter Prymmer)
dcf686c9 634 - hopefully correct "-lc" fix for SCO.
635 - add PPD stuff
636
56c1b3bd 637 1.20 adds a platform neutral set of C accessible routines if you are
638 running 5.005+. All other changes are packaging changes and build
639 fixes(?) for statically linked Perl, SCO, and VMS.
640
dcf686c9 6411.19 Tue Sep 29 22:30 1998
642 - put VMS gettimeofday() in. Patch is from Sebastian Bazley
643 <seb@stian.demon.co.uk>
644 - change GIMME_V to GIMME to help people with older versions of
645 Perl.
646 - fix Win32 version of gettimeofday(). It didn't affect anything,
647 but it confuses people reading the code when the return value
648 is backwards (0 is success).
649 - fix Makefile.PL (more) so that detection of gettimeofday is
650 more correct.
651
56c1b3bd 652 1.19 has better VMS support.
653
dcf686c9 6541.18 Mon Jul 6 22:40 1998
655 - add usleep() for Win32.
656 - fix Makefile.PL to fix reported HP/UX feature where unresolved
657 externals still cause an executable to be generated (though no
658 x bit set). Thanks to David Kozinn for report and explanation.
659 Problems with the fix are mine :)
660
56c1b3bd 661 1.18 has limited Win32 support (no ualarm). Added usleep for Win32.
662 Probably buggy. I'm sure I'll hear.
663
dcf686c9 6641.17 Wed Jul 1 20:10 1998
665 - fix setitimer calls so microseconds is not more than 1000000.
666 Hp/UX 9 doesn't like that. Provided by Roland B Robert, PhD.
3f2ee006 667 - make Win32. We only get gettimeofday (the select hack doesn't
dcf686c9 668 seem to work on my Win95 system).
3f2ee006 669 - fix test 4 on 01test.t. add test to see if time() and
dcf686c9 670 Time::HiRes::time() are close.
671
6721.16 Wed Nov 12 21:05 1997
673 - add missing EXTEND in new gettimeofday scalar code.
674
56c1b3bd 675 1.16+ should be closer to building out of the box on Linux. Thanks
676 to Gisle Aas for patches, and the ualarm equivalent using setitimer.
677
678 If your underlying operating system doesn't implement ualarm(), then
679 a fake using setitimer() will be made. If the OS is missing usleep(),
680 a fake one using select() will be made. If a fake can't be made for
681 either ualarm() or usleep(), then the corresponding Perl function will
682 not be available. If the OS is missing gettimeofday(), you will get
683 unresolved externals, either at link- or run-time.
684
685 This is an improvement; the package used to not even build if
686 you were missing any of these bits. Roderick Schertler
687
688 <roderick@argon.org> did all the conditional compilation stuff,
689 look at HiRes.pm and the test suites; it's good educational reading.
690
dcf686c9 6911.15 Mon Nov 10 21:30 1997
692 - HiRes.pm: update pod. Provided by Gisle Aas.
693 - HiRes.xs: if gettimeofday() called in scalar context, do
694 something more useful than before. Provided by Gisle Aas.
695 - README: tell of xsubpp '-nolinenumber' woes. thanks to
696 Edward Henigin <ed@texas.net> for pointing out the problem.
697
6981.14 Wed Nov 5 9:40 1997
699 - Makefile.PL: look for setitimer
700 - HiRes.xs: if missing ualarm, but we have setitimer, make up
701 our own setitimer. These were provided by Gisle Aas.
702
7031.13 Tue Nov 4 23:30 1997
704 - Makefile.PL: fix autodetect mechanism to do try linking in addition
705 to just compiling; should fix Linux build problem. Fix was provided
706 by Gisle Aas.
707
7081.12 Sun Oct 12 12:00:00 1997
709 - Makefile.PL: set XSOPT to '-nolinenumbers' to work around xsubpp bug;
710 you may need to comment this back out if you have an older xsubpp.
711 - HiRes.xs: set PROTOTYPES: DISABLE
712
7131.11 Fri Sep 05 16:00:00 1997
714 - Makefile.PL:
715 Had some line commented out that shouldn't have been (testing
716 remnants)
717 - README:
718 Previous version was corrupted.
719
7201.10 Thu May 22 20:20:00 1997
721 - HiRes.xs, HiRes.pm, t/*:
722 - only compile what we have OS support for (or can
723 fake with select())
724 - only test what we compiled
725 - gross improvement to the test suite
726 - fix EXPORT_FAIL.
727 This work was all done by Roderick Schertler
728 <roderick@argon.org>. If you run Linux or
170c5524 729 one of the other ualarm-less platforms, and you like this
dcf686c9 730 module, let Roderick know; without him, it still wouldn't
731 be working on those boxes...
732 - Makefile.PL: figure out what routines the OS has and
733 only build what we need. These bits were written by Jarkko
734 Hietaniemi <jhi@iki.fi>. Again, gratitude is due...
735
7361.02 Mon Dec 30 08:00:00 1996
737 - HiRes.pm: update documentation to say what to do when missing
738 ualarm() and friends.
739 - README: update to warn that ualarm() and friends need to exist
740
7411.01 Fri Oct 17 08:00:00 1996
742 - Makefile.PL: make XSPROTOARGS => '-noprototyopes'
743 - HiRes.pm: put blank line between __END__ and =head1 so that
744 pod2man works.
745
7461.00 Tue Sep 03 13:00:00 1996
747 - original version; created by h2xs 1.16