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