Commit | Line | Data |
75d5269b |
1 | Revision history for the Perl extension Time::HiRes. |
dcf686c9 |
2 | |
9e000d5b |
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 |
71ac5476 |
27 | - use main() prototype consistently in Makefile.PL |
28 | |
9e000d5b |
29 | 1.95 [2006-11-29] |
7b9ffbef |
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 |
9e000d5b |
37 | - Make Makefile.PL more defensive against false PERL_CORE |
7b9ffbef |
38 | |
c36568be |
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 | |
c09e847b |
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 |
7b9ffbef |
54 | being run on NTFS or anywhere with better timestamps? |
c09e847b |
55 | Addresses [rt.cpan.org #22089] and [rt.cpan.org #22098]. |
56 | |
75d5269b |
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, |
7b9ffbef |
89 | e.g. but not limited to: Win32, VMS, OS/2) gladly accepted. |
75d5269b |
90 | |
91 | Thanks to H.Merijn Brand, John Peacock, and Craig |
92 | Berry for brave beta testing. |
93 | |
94 | 1.91 [2006-09-29] |
34f69483 |
95 | - ualarm() in SuSE 10.1 was overflowing after ~4.2 seconds, |
75d5269b |
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.) |
34f69483 |
103 | |
f445b110 |
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 | |
b69b1b83 |
109 | 1.89 [2006-08-22] |
110 | - Const64() already appends an 'LL' (or i64), so provide LL and i64 |
f445b110 |
111 | forms for the IV_1E[679] (effects Win32 and Cygwin), reported by |
112 | Jerry Hedden. |
75d5269b |
113 | - the Changes entry for 1.88 talked about [IN]V_1[679], |
114 | missing the 'E'. |
b69b1b83 |
115 | |
47e797f6 |
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 |
b69b1b83 |
119 | constants IV_1E[679] and NV_1E[679] |
47e797f6 |
120 | |
9b15102a |
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 | |
ff7df920 |
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 | |
170c5524 |
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 | |
a5929ff3 |
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 | |
82cbdcc3 |
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 | |
a5929ff3 |
170 | 1.81 [2005-11-05] |
b311af62 |
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 | |
a5929ff3 |
200 | 1.80 [2005-11-04] |
70cf0185 |
201 | - Gisle noticed a mistake (using HAS_NANOSLEEP) in 1.79 |
202 | |
a5929ff3 |
203 | 1.79 [2005-11-03] |
e5433ad8 |
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 | |
a5929ff3 |
212 | 1.78 [2005-11-03] |
1a7d3a53 |
213 | - ITIMER_VIRTUAL detection in HiRes.t had problems (that we cannot |
e5433ad8 |
214 | in the general case fail already at 'use' phase is suboptimal) |
1a7d3a53 |
215 | - fixes to the documentation of clock_gettime() and clock_getres() |
216 | |
a5929ff3 |
217 | 1.77 [2005-11-03] |
ced84e60 |
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 | |
3d0346a5 |
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 | |
9649b81b |
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 | |
06252d99 |
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] |
937b804e |
247 | (POSIX::uname() not available if building with core perl, |
248 | from Gisle Aas, via perl5-porters, perl change #25295) |
249 | |
06252d99 |
250 | 1.72 [2005-07-01] |
251 | - going back to the 1.68 loader setup (using DynaLoader) |
0cf8ddea |
252 | since too many weird things starting breaking |
253 | - fix a typo in José Auguste-Etienne's name |
254 | |
06252d99 |
255 | 1.71 [2005-06-28] |
256 | - a thinko in the nanosleep() detection |
56c1b3bd |
257 | - move more changes stuff from the README to Changes |
258 | - add -w to the Makefile.PL |
259 | |
06252d99 |
260 | 1.70 [2005-06-26] |
261 | - oops in 1.69 about @ISA (not affecting anything but silly) |
f8daf111 |
262 | - add copyright 2005 to HiRes.pm |
263 | - add copyright and license to HiRes.xs |
56c1b3bd |
264 | - add copyrights 2003, 2004, 2005 to README |
f8daf111 |
265 | |
06252d99 |
266 | 1.69 [2005-06-25] |
267 | - actually run a test for nanosleep |
56c1b3bd |
268 | (if there is no $Config{d_nanosleep}) since e.g. in AIX 4.2 |
26e22fd9 |
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 |
0cf8ddea |
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) |
26e22fd9 |
281 | - support XSLoader also since it's much faster |
282 | (from Alexey Tourbin) |
283 | - add SEE ALSO (BSD::Resource and Time::TAI64) |
284 | |
06252d99 |
285 | 1.68 [2005-05-14] |
993164ab |
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 | |
06252d99 |
294 | 1.67 [2005-05-04] |
993164ab |
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 | |
06252d99 |
299 | 1.66 [2004-12-19] |
44d3ce20 |
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) |
82cbdcc3 |
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 |
44d3ce20 |
307 | has become rather unlikely |
308 | |
06252d99 |
309 | 1.65 [2004-09-18] |
64a7a97c |
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 | |
06252d99 |
317 | 1.64 [2004-09-16] |
64a7a97c |
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 | |
06252d99 |
327 | 1.63 [2004-09-01] |
1fbb4de4 |
328 | - Win32 and any ithread build: ppport.h didn't define |
170c5524 |
329 | MY_CXT_CLONE, which seems to be a Time-HiRes-ism. |
1fbb4de4 |
330 | |
06252d99 |
331 | 1.62 [2004-08-31] |
1fbb4de4 |
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 | |
06252d99 |
343 | 1.61 [2004-08-21] |
4ed0e2d4 |
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 | |
06252d99 |
349 | 1.60 [2004-08-15] |
4ed0e2d4 |
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 | |
06252d99 |
362 | 1.59 [2004-04-08] |
d8cb5b61 |
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 | |
06252d99 |
368 | 1.58 [2004-04-08] |
d8cb5b61 |
369 | - Document the 1.57 change better. |
370 | |
06252d99 |
371 | 1.57 [2004-07-04] |
d8cb5b61 |
372 | - Win32/Cygwin/MinGW: if the performance counter drifts by more |
373 | than two seconds from the system clock (due to ntp adjustments, |
c1dc6e7c |
374 | for example), recalibrate our internal counter: from Jan Dubois, |
375 | based on [cpan #5933] by Jerry D. Hedden. |
376 | |
06252d99 |
377 | 1.56 [2004-29-02] |
1caec985 |
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 | |
06252d99 |
382 | 1.55 [2004-01-14] |
4ed0e2d4 |
383 | - Windows: mingw32 patch from Mike Pomraning (use Perl's Const64() |
b6136f41 |
384 | instead of VC-specific i64 suffix) |
385 | |
06252d99 |
386 | 1.54 [2003-12-31] |
0225372c |
387 | - Solaris: like Tru64 (dec_osf) also Solaris need -lrt for nanosleep |
388 | |
06252d99 |
389 | 1.53 [2003-12-30] |
0225372c |
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 | |
06252d99 |
396 | 1.52 [2003-10-28] |
690f7c5f |
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 | |
06252d99 |
401 | 1.51 [2003-09-22] |
b85af263 |
402 | - doc tweaks from mjd (perl change #20456) |
403 | - NCR MP-RAS hints file added (svr4.pl) (perl change #21249) |
404 | |
06252d99 |
405 | 1.50 [2003-08-02] |
d7358e6a |
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 | |
06252d99 |
415 | 1.49 [2003-06-23] |
df16a331 |
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 | |
06252d99 |
420 | 1.48 [2003-06-04] |
2d9815af |
421 | - workaround for buggy gcc 2.95.3 in openbsd/sparc64 |
422 | (perl change #19592) |
423 | |
06252d99 |
424 | 1.47 [2003-05-03] |
2d9815af |
425 | - do not use -lrt in Linux (from March Lehmann, perl change #19449) |
1a08a6ab |
426 | - unnecessary (nanosleep is in libc anyway) |
427 | - harmful (-lrt slows down execution) |
428 | - incompatible (with many distributions' pthreads) |
429 | |
06252d99 |
430 | 1.46 [2003-04-25] |
25ca0970 |
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 | |
06252d99 |
435 | 1.45 [2003-04-01] |
25ca0970 |
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 | |
06252d99 |
441 | 1.44 [2003-03-30] |
0be47ac6 |
442 | - add hints/irix.pl to turn off overly POSIX flags that |
443 | cause hide struct timespec to be hidden (and compilation |
25ca0970 |
444 | to fail) (bleadperl change #19085) |
0be47ac6 |
445 | - documentation tweaks |
446 | |
06252d99 |
447 | 1.43 [2003-03-11] |
a0c8e3cf |
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 | |
06252d99 |
452 | 1.42 [2003-01-07] |
98b50af3 |
453 | - modernize the constants code (from Nicholas Clark) |
454 | |
06252d99 |
455 | 1.41 [2003-01-03] |
98b50af3 |
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 |
a0c8e3cf |
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. |
98b50af3 |
464 | |
06252d99 |
465 | 1.40 [2003-01-03] |
98b50af3 |
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 | |
06252d99 |
473 | 1.39 [2003-10-20] |
6a20eacc |
474 | - fix from Craig Berry for better building in VMS with PERL_CORE |
475 | |
06252d99 |
476 | 1.38 [2003-10-13] |
3f2ee006 |
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 | |
06252d99 |
482 | 1.37 [2003-09-23] |
3f2ee006 |
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 | |
06252d99 |
493 | 1.36 [2003-09-12] |
3f2ee006 |
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 | |
06252d99 |
503 | 1.35 [2003-08-24] |
3f2ee006 |
504 | - small documentation tweaks |
505 | |
506 | |
06252d99 |
507 | 1.34 [2003-08-22] |
3f2ee006 |
508 | - better VMS operation (Craig Berry) |
509 | |
06252d99 |
510 | 1.33 [2003-08-20] |
3f2ee006 |
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 | |
06252d99 |
515 | 1.32 [2003-08-20] |
3f2ee006 |
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 | |
06252d99 |
530 | 1.31 [2003-08-19] |
3f2ee006 |
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 |
56c1b3bd |
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 | |
06252d99 |
543 | 1.30 [2003-08-16] |
3f2ee006 |
544 | |
545 | - release 1.29_02 as 1.30 |
546 | |
56c1b3bd |
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 | |
06252d99 |
555 | 1.29_02 [2003-08-16] |
3f2ee006 |
556 | |
557 | - fix a silly unclosed comment typo in HiRes.xs |
558 | - document and export REALTIME_REALPROF (Solaris) |
559 | |
06252d99 |
560 | 1.29_01 [2003-08-16] |
3f2ee006 |
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 | |
06252d99 |
566 | 1.29_00 [2003-08-14] |
3f2ee006 |
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 |
170c5524 |
581 | - 13278: can't do subsecond alarms with ualarm; |
3f2ee006 |
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 | |
dcf686c9 |
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> |
3f2ee006 |
656 | - VMS Makefile.PL fun. From pvhp@forte.com (Peter Prymmer) |
dcf686c9 |
657 | - hopefully correct "-lc" fix for SCO. |
658 | - add PPD stuff |
659 | |
56c1b3bd |
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 | |
dcf686c9 |
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 | |
56c1b3bd |
675 | 1.19 has better VMS support. |
676 | |
dcf686c9 |
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 | |
56c1b3bd |
684 | 1.18 has limited Win32 support (no ualarm). Added usleep for Win32. |
685 | Probably buggy. I'm sure I'll hear. |
686 | |
dcf686c9 |
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. |
3f2ee006 |
690 | - make Win32. We only get gettimeofday (the select hack doesn't |
dcf686c9 |
691 | seem to work on my Win95 system). |
3f2ee006 |
692 | - fix test 4 on 01test.t. add test to see if time() and |
dcf686c9 |
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 | |
56c1b3bd |
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 | |
dcf686c9 |
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 |
170c5524 |
752 | one of the other ualarm-less platforms, and you like this |
dcf686c9 |
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 |