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