Commit | Line | Data |
---|---|---|
df003a36 JH |
1 | Revision history for the Perl extension Time::HiRes. |
2 | ||
e27e0631 N |
3 | {{NEXT}} |
4 | ||
1d9936f4 N |
5 | - Remove obsolete vms code |
6 | - Use core version compare | |
7 | ||
8 | 1.9764 [2020-08-10] | |
9 | - Fix a bunch of repeated-word typos | |
10 | - Fix compilation with Visual C++ 2013 and older | |
11 | - Implement clock_gettime() and clock_getres() for win32 | |
12 | - Remove workaround for an ancient Devel::PPPort bug | |
13 | - Remove the remains of MacOS classic support | |
14 | - Remove code for perls older than 5.6 | |
15 | - Remove vestiges of mpeix support (removed in 5.17.x) | |
16 | - Remove trailing blanks | |
17 | - Add links to pod | |
18 | ||
e27e0631 N |
19 | 1.9760 [2019-02-18] |
20 | - make utime() available only if we have both fd and name setting | |
21 | [RT #133030] | |
22 | - Adjutst Makefile.PL for windows: the DEFINE() in Makefile.PL | |
a3815e44 | 23 | can't be in sub init() because that sub isn't called on windows |
e27e0631 N |
24 | - t/itimer.t: avoid race condition. |
25 | - don't truncate nanosec utime | |
26 | - fallback/const-c.inc: Avoid compiler warning showing up on darwin. | |
27 | ||
e7719536 TR |
28 | 1.9759 [2018-03-23] |
29 | - This version reverts the changes on CPAN that were included in 1.9754 - 1.9758. | |
30 | Several of these changes caused instability on some windows platforms. We can | |
31 | revisit these fixes if necessary in Perl 5.29.0 | |
32 | ||
e27e0631 N |
33 | 1.9758 [2018-03-21] |
34 | - fix build in Win32 with Visual C by introducing a fake struct timezone | |
35 | [rt.cpan.org #124844] | |
36 | - in utime.t detect better being run in a noatime filesystem, | |
37 | and if so, skip the test (for the HAMMER filesystem of DragonflyBSD) | |
38 | - also for the HAMMER fs (if not in noatime), lower the expected subsecond | |
39 | timestamp granularity to microseconds | |
40 | - fix the version number typo in Changes: 1.9577 -> 1.9757 | |
41 | ||
42 | 1.9757 [2018-03-15] | |
43 | - fix win32 (and cygwin?) builds which have been broken since 1.9755: | |
44 | problem was that gettimeofday() is a macro and needs to stay such | |
45 | - regenerate ppport.h with Perl 5.26.1 (was previously generated with | |
46 | 5.25.6) and Devel::PPPort 3.35 (previously 3.36) -- this doesn't | |
47 | change the ppport.h, though | |
48 | ||
49 | 1.9756 [2018-03-14] | |
50 | - division by zero in new test tv_interval.t [rt.cpan.org #124775]: | |
51 | made the test pass even if the difference is zero, but also | |
52 | made it practically impossible to ever be zero by adding | |
53 | a sub-second sleep. | |
54 | - remove comments from inside qw [rt.cpan.org #124777], | |
55 | only seemed to be caught by Perl 5.18.4 | |
56 | ||
57 | 1.9755 [2018-03-14] | |
58 | - adjust the error messages of tv_interval() | |
59 | - the NV_1EX constants now cast to be NV so that | |
60 | tv_interval() with long double builds does not | |
61 | produce ugly results [rt.cpan.org #106456] | |
62 | - add tests for tv_interval() | |
63 | - centralize the mygettimeofday() logic | |
64 | - make the mygettimeofday() a function instead of macro | |
65 | - add the OS X 10.12+ clock_gettime() constants | |
66 | CLOCK_MONOTONIC_RAW_APPROX CLOCK_UPTIME_RAW_APPROX | |
67 | - regenerate the fallback files | |
68 | ||
69 | 1.9754 [2018-02-16] | |
70 | - unify the gettimeofday() and time() forked code | |
71 | that had near identical code paths for MacOS Classic | |
72 | (which has two unusual features: unsigned time_t, | |
73 | and a special tz struct member), and for non-MacOS Classic | |
74 | - tv_interval should be implemented in XS | |
75 | [rt.cpan.org #106456] | |
76 | thanks to Sergey Aleynikov (suggested implementation simplified | |
77 | by the above-mentioned MacOS Classic simplification) | |
78 | ||
5338f9f7 SH |
79 | 1.9753 [2018-01-11] |
80 | - in t/clock.t in a fast system we need to burn more CPU, | |
81 | reported and fix suggested by Joel C. Maslak <jmaslak@antelope.net> | |
82 | [rt.cpan.org #124025] | |
83 | - for t/utime.t in netbsd we need /sbin in PATH to find the mount command, | |
84 | this is needed for the fix in 1.9751 to actually help netbsd with noatime | |
85 | mounts. | |
86 | (thanks to Nigel Horne) | |
87 | ||
de3293c0 CBW |
88 | 1.9752 [2018-01-04] |
89 | - fix an error in the error message of utimensat() not available: | |
90 | it said futimens() not available | |
91 | - add --force alias for Makefile.PL --configure | |
92 | ||
93 | 1.9751 [2018-01-02] | |
94 | - in macOS/OSX/Darwin, use __has_builtin() check also for utimensat(), | |
95 | can cause errors like | |
96 | "HiRes.xs:1474:16: error: unrecognized platform name macOS" | |
97 | [rt.cpan.org #123994] | |
98 | (oversight from 1.9749) | |
99 | - do not define TIME_HIRES_STAT/d_hires_stat if none was found, instead | |
100 | of defining it to be zero, which case has no implementation in hrstatns() | |
101 | (thanks to Nigel Horne) | |
102 | - in t/utime.t try to divine if the filesystem of the tempfiles has been | |
103 | mounted with the 'noatime' option, which can prohibit updating the | |
104 | access time timestamp. Also document this in HiRes.pm. | |
105 | (thanks to Nigel Horne, original analysis by Slaven Rezic) | |
106 | - synchronize the constant lists in HiRes.pm:@EXPORT_OK | |
107 | and Makefile.PL:doConstants and regenerate fallback/const-c.inc | |
108 | and fallback/const-xs.inc, this fixes Perl 5.6.2 issue with | |
109 | d_futimens not allegedly being a valid macro in t/utime.t | |
110 | (using Perl 5.26.1 for the regenerating, not 5.6.2) | |
111 | (thanks to Nigel Horne) | |
112 | - in t/utime.t define a nop sub done_testing for ancient Perls | |
113 | (like Perl 5.6.2) | |
114 | - in Perl 5.6.2 a bogus warning | |
115 | "Use of uninitialized value in subroutine entry" | |
116 | is issued from t/alarm.t: add a comment documenting that | |
117 | ||
8eedd56d CBW |
118 | 1.9750 [2017-12-22] |
119 | - update META.yml and META.json for XSLoader instead of DynaLoader | |
120 | [rt.cpan.org #123933] | |
121 | ||
122 | 1.9749 [2017-12-21] | |
123 | - CPAN release | |
124 | - Quieten Time-HiRes test noise: blead 0f009486 | |
125 | - Switch some core modules to XSLoader: blead b9a5a78f [rt.cpan.org #129789] | |
126 | - disable a flapping test for CI: blead cd2a978d | |
127 | - Avoid newGVgen in blead-upstream modules: blead 732d3893 | |
128 | - Declaration after statement in typemap: blead d269f586 | |
129 | - semicolon-friendly diagnostic control: blead 7347ee54 | |
130 | - in macOS (OS X) check properly in runtime whether futimens() | |
131 | and utimensat() are available | |
132 | ||
133 | 1.9748 [2017-12-16] | |
134 | - bleadperl only | |
135 | - semicolon-friendly diagnostic control: blead 7347ee54 | |
136 | ||
137 | 1.9747 [2017-09-13] | |
138 | - bleadperl only | |
139 | - Switch some core modules to XSLoader: blead b9a5a78f [rt.cpan.org #129789] | |
b9a5a78f | 140 | |
8da08029 CBW |
141 | 1.9746 [2017-08-17] |
142 | - Unreliable t/usleep.t and t/utime.t tests [rt.cpan.org #122819] | |
143 | Avoid testing for $dt = $t2 - $t1 and assuming $dt is less than | |
144 | some value since a heavily loaded machine can delay the $t2. | |
145 | Testing for greater than is fine. | |
146 | - Tweak the configuring messages about subsecond stat/utime. | |
147 | ||
148 | 1.9745 [2017-08-14] | |
149 | - Properly check for futimens/utimensat actually doing something. | |
150 | This should handle 'gnukfreebsd' (which has only stubs, so far | |
151 | we have been skipping the test) and as a new thing 'gnu' (Hurd) | |
152 | (also only stubs). Thanks to Nigel Horne. | |
153 | - Scan in t/utime.t whether the filesystem (wherever File::Temp | |
154 | puts it tempfiles) supports subsecond timestamps. This removes | |
155 | the fragile Linux/ext3 specific hack. As a side effect, the | |
156 | setting of subsecond timestamps is tested only if reading of | |
157 | them is supported. Thanks to Carsten Gaebler for the test idea, | |
158 | and Ryan Voots for testing. | |
159 | ||
160 | 1.9744 [2017-07-27] | |
161 | - add more potential clock constants, like CLOCK_MONOTONIC_FAST | |
162 | (available in FreeBSD), and not all potentially found clock | |
163 | constants were properly exported to be available from Perl, | |
164 | see your system's clock_gettime() documentation for the available ones | |
165 | ||
166 | 1.9743 [2017-07-20] | |
af94b3ac | 167 | - correct declared minimum Perl version (should be 5.6, was declared |
8da08029 CBW |
168 | as 5.8 since 1.9727_03): blead af94b3ac |
169 | - fix the fix for 'do file' to load hints in Makefile.PL: blead 3172fdbc | |
af94b3ac | 170 | |
5cd155b0 CBW |
171 | 1.9742 [2017-04-16] |
172 | - prefer 3-argument open: blead 1ae6ead9 | |
173 | - fix dist/Time-HiRes/t/*.t that assumed '.' in @INC: blead 465db51d | |
174 | - fix cases where 'do file' should be 'do ./file'.: blead 8b69401c | |
175 | ||
12389a22 CBW |
176 | 1.9741 [2016-11-20] |
177 | - C++11 compatibility: blead a914236c | |
178 | - El Capitan compatibility: blead 45bbc013 | |
179 | - use CLOCK_REALTIME for clock_nanosleep scan: blead 56ed632c | |
180 | - include file consistency in scans: blead 605b4dbe | |
181 | - use clockid_t consistently: blead 2979fdf3 | |
182 | - use hv_fetchs(): blead 07e4dd7a | |
183 | - scan for clockid_t (needed for macos Sierra): blead 69d1f2c2 | |
184 | - darwin lacks clockid_t: blead d1e7b5aa | |
185 | [rt.cpan.org #129789] | |
186 | - provide template for tempfile: blead 91dca83e | |
187 | - explicit cast for clockid_t in C++11: blead 1c566547 | |
188 | - upgrade to a newer ppport (3.35) | |
1c566547 | 189 | |
3a57bd4d JK |
190 | 1.9740 [2016-09-25] |
191 | - the ext3/ext2 filesystems do not have subsecond resolution, | |
192 | therefore skip the t/utime.t test | |
193 | [rt.cpan.org #116127] | |
194 | ||
c4a535af SH |
195 | 1.9739 [2016-06-28] |
196 | - the upcoming macOS 10.12 (Sierra, the operating system formerly | |
197 | known as OS X, or Darwin) has implemented the clock_gettime() | |
198 | and clock_getres() interfaces but not the clock_nanosleep() | |
199 | ||
200 | 1.9738 [2016-06-26] | |
201 | - fix the dates in the Changes, it's not July yet | |
202 | [rt.cpan.org #115553] | |
203 | - in cygwin, drop the utime.t expected timestamp resolution | |
204 | - documented for utime that the actual timestamp resolution depends | |
205 | on the operating system and the filesystem, just like for stat | |
206 | - looks like in gnukfreebsd 10.1 neither futimens or utimensat work | |
207 | even though they exist, skipping utime tests there for now | |
208 | - demodernize the Test::More use in utime.t (no subtest) to | |
209 | better support older Perl installations | |
210 | - for all the tests, drop the Test::More 0.82 requirement, | |
211 | the only "modern" thing used is the note routine which | |
212 | can be replaced with print("# ...\n") (or printf), | |
213 | with this works back at least with Test::More 0.54 (perl 5.8.7) | |
214 | ||
215 | 1.9737 [2016-06-22] | |
216 | - utime in HiRes.xs had dXSARGS which was unnecessary, leading | |
217 | to two markstack pops, panic, and two-minute wait for the watchdog | |
218 | (thanks to Dave Mitchell for the eagle-eye) | |
219 | - even though 5.10.x should have the Perl_ck_warner, many CPAN | |
220 | smokes proved otherwise, so requiring now at least 5.12 for | |
221 | Perl_ck_warner use in IS_SAFE_PATHNAME() | |
222 | ||
223 | 1.9736 [2016-06-22] | |
224 | - the IS_SAFE_PATHNAME() emulation was too modern for Perl 5.10 | |
225 | - make it so that only one value is set for -DTIME_HIRES_STAT | |
226 | even on systems that support many options | |
227 | - the 1.9734 (only released in blead, and as part of the development | |
228 | release 5.25.2) fix for Darwin's clock_gettime was wrong under | |
229 | threaded builds, leading into mutex panics in clock.t | |
230 | - the d_hires_utime determination was made more precise | |
231 | - the utime.t was failing in platforms where only one of | |
232 | futimens/utimensat was present (neither or both was okay) | |
233 | ||
234 | 1.9735 [2016-06-20] | |
235 | - Time::HiRes should override `utime` to allow setting hires | |
236 | (futimens and utimensat support) | |
237 | [rt.perl.org #114809] | |
238 | - the utime patch used IS_SAFE_PATHNAME() which isn't available in | |
239 | too old Perls, so emulate (in case the Devel::PPPort is too old) | |
240 | ||
241 | 1.9734 [2016-06-17] | |
242 | - fix Darwins with clock_gettime: blead 2d41a263 | |
243 | [rt.perl.org #128427] | |
244 | ||
f3dd6bae | 245 | 1.9733 [2016-04-23] |
b011e696 JH |
246 | - C90 declaration-after-statement error with darwin threads: blead de1003b4 |
247 | [rt.cpan.org #113856] | |
f3dd6bae | 248 | |
02fb1e6b JH |
249 | 1.9732 [2016-03-13] |
250 | - MUTEX_LOCK, not PERL_MUTEX_LOCK: blead e5b02b5d | |
251 | - also hrt_ualarm_itimer() is unused: 1cb6cce3 | |
252 | - the mutex needs init: 2d639e20 | |
253 | - version bump to 1.9732: 730d7fdc | |
254 | ||
e7185dd0 | 255 | 1.9731 [2016-03-13] |
febe9c7a JH |
256 | - mark unused variable as such: blead a914236c |
257 | - OS X emulation mutex accidentally unused: da7a6455 | |
258 | - remove hrt_ualarm: 6da77c36 | |
259 | - pod error fixes: 919ca095 | |
260 | - nanosleep and clock_nanosleep cleanups: c8ea02b8..e3ff671b | |
919ca095 JH |
261 | - static funcs in HiRes.xs: 4e922c26 |
262 | - Remove unused variable: 52ffb1b5 | |
263 | ||
1625f1d3 JH |
264 | 1.9730 [2016-02-17] |
265 | - TIME_HIRES_DONT_RUN_PROBES=1 to build the probes but not run them | |
266 | [rt.cpan.org #111391] | |
267 | ||
bcd2c0ef JH |
268 | 1.9729 [2016-02-13] |
269 | - new constants | |
270 | [rt.cpan.org #111170] | |
271 | - clock_getres(), clock_gettime(), clock_nanosleep() emulation for OS X | |
272 | [rt.cpan.org #78566] | |
273 | ||
df003a36 JH |
274 | 1.9728 [2015-11-13] |
275 | - No changes since 1.9727_03 | |
276 | ||
277 | 1.9727_03 [2015-11-06] | |
278 | - use PERL_UNUSED_ARG() in the not-here-croak branches | |
279 | - Makefile.PL/metadata improvements | |
280 | ||
281 | 1.9727_02 [2015-08-29] | |
282 | - correct documentation to note that Time::NVtime is NV, not double | |
283 | [perl #123879] | |
284 | - avoid a warning about clock_t on OS X / clang 3.6 - 3.6 | |
285 | [rt.cpan.org #102718] | |
286 | ||
287 | 1.9727_01 [2015-08-17] | |
288 | - Remove usage of 5.005 thread APIs in favor of 5.6 and up thread APIs | |
289 | [rt.cpan.org #102799]. | |
290 | - Silence a C++ compiler warning [rt.cpan.org #101497]. | |
291 | - respect $Config{run} for cross-compiling [rt.cpan.org #92607] | |
292 | ||
293 | 1.9726 [2013-08-17] | |
294 | - Correct s/us splitting of usleep(1000000) [rt.cpan.org #78266]. | |
295 | - Avoid integer overflow in itimer-based alarm() with large | |
296 | argument [rt.cpan.org #87160]. | |
297 | - Define PERL_NO_INLINE_FUNCTIONS during probe compilations, to | |
298 | avoid false negatives caused by not linking with the perl core. | |
299 | - Be more careful about context in stat(). | |
300 | - Install into "site" directories by default on perl 5.11+ | |
301 | [rt.cpan.org #79797]. | |
302 | - Fix a couple of doc typos [rt.cpan.org #85365]. | |
303 | - Fix function name in a doc example [rt.cpan.org #86318]. | |
304 | - Provide lstat() that yields high-res timestamps, alongside | |
305 | the existing high-res stat() [rt.cpan.org #78732]. | |
306 | ||
307 | 1.9725 [2012-02-01] | |
308 | - Correct stack discipline in stat(), which was screwing up list | |
309 | operations in expressions containing calls to it [rt.cpan.org | |
310 | #72926]. | |
311 | - Add missing OUTPUT sections to the XS code [rt.cpan.org #70930]. | |
312 | - Skip itimer tests on GNU/Hurd, which has the API but lacks | |
313 | the implementation [rt.cpan.org #72754]. | |
314 | - Fix a doubled word in the documentation [rt.cpan.org #72763]. | |
315 | ||
316 | 1.9724 [2011-06-09] | |
317 | - Correct XS parameter list, and therefore prototype, for | |
318 | unimplemented-on-this-platform version of clock_nanosleep() | |
319 | [rt.cpan.org #68700]. | |
320 | - Declare package variables with "our" rather than "use vars". | |
321 | - Corresponding to "our" usage, check for minimum Perl version | |
322 | 5.006. | |
323 | - Declare module dependencies. | |
324 | ||
325 | 1.9723 [2011-06-07] | |
326 | - Remove $ENV{PERL_CORE} logic from test suite, which is no | |
327 | longer desired in the core. | |
328 | - Convert test suite to use Test::More. | |
329 | - Factor out watchdog code from test suite. | |
330 | - In test suite, be consistent about using fully-qualified form | |
331 | of function names. | |
332 | - Divide test suite into feature-specific scripts. | |
333 | - Make ualarm timing test less vulnerable to delay-induced false | |
334 | failure, from Dave Mitchell. | |
335 | ||
336 | 1.9722 [2011-05-18] | |
337 | - Update for changes in build process in the core, patches | |
338 | from BinGOs [rt.cpan.org #58858] and Craig Berry [rt.cpan.org | |
339 | #63363]. | |
340 | - Fix broken linkage on Windows with gcc 3.4 seen with ActivePerl, | |
341 | report from Christian Walde [rt.cpan.org #61648], fix derived | |
342 | from Vincent Pit. | |
343 | - Jump through hoops to avoid compiler warnings. | |
344 | ||
345 | 1.9721 [2010-03-17] | |
346 | - Address [rt.cpan.org #54196] alarm and ularm return values are bogus, | |
347 | additional fix from Gisle Aas | |
348 | - Address [rt.cpan.org #55665] "Bad plan" on Windows, | |
349 | report and fix from Jan Dubois | |
350 | ||
351 | 1.9720 [2010-02-14] | |
352 | - Address [rt.cpan.org #54196] alarm and ularm return values are bogus, | |
353 | report and fix from Nicholas Clark | |
354 | ||
355 | 1.9719 [2009-01-04] | |
356 | - As with QNX, Haiku has the API of interval timers but not | |
357 | the implementation (bleadperl change #34630), hence skip | |
358 | the tests, via David Mitchell. | |
359 | ||
360 | 1.9718 [2008-12-31] | |
361 | - .xs code cleanup from Albert Dvornik | |
362 | - in the #39 and #40 do not do us I did, mixing alarm() and | |
363 | sleep(). Now instead spin until enough time has passed. | |
364 | ||
365 | 1.9717 [2008-12-30] | |
366 | - Skip the tests added in 1.9716 (#39, #40) if there's no subsecond | |
367 | alarm capability, like with the older subsecond alarm tests | |
368 | ||
369 | 1.9716 [2008-12-26] | |
370 | - Change documentation to agree with reality: there are | |
371 | no interval timers in Win32. | |
372 | - Address [rt.cpan.org #35899] (problem in subsecond sleeps), | |
373 | add two tests to guard against this problem | |
374 | - Address [rt.cpan.org #36600] 'Division by zero' failure in test suite | |
375 | - Address [rt.cpan.org #37340] [PATCH] Address timer process in test | |
376 | - Address [rt.cpan.org#40311 ] bad implementation of hrt_usleep | |
377 | with TIME_HIRES_NANOSLEEP | |
378 | ||
379 | 1.9715 [2008-04-08] | |
380 | - Silly me: Makefile.PL does need to accept arguments other than mine. | |
381 | Some testing frameworks obviously do this. | |
382 | - Add retrying for tests 34..37, which are the most commonly | |
383 | failing tests. If this helps, consider extending the retry | |
384 | framework to all the tests. [Inspired by Slaven Rezic, | |
385 | [rt.cpan.org #34711] Occasional failures of test 35 or 36 (FreeBSD)] | |
386 | ||
387 | 1.9714 [2008-04-07] | |
388 | - Under Perl 5.6.* NVgf needs to be "g", reported by Zefram, | |
389 | it seems that ppport.h 3.13 gets this wrong. | |
390 | - remove the check in Makefile.PL for 5.7.2, shouldn't be | |
391 | (a) necessary (b) relevant | |
392 | - add logic to Makefile.PL to skip configure/write Makefile | |
393 | step if the "xdefine" file already exists, indicating that | |
394 | the configure step has already been done, one can still | |
395 | force (re)configure by "perl Makefile.PL configure", | |
396 | or of course by "make clean && perl Makefile.PL". | |
397 | ||
398 | 1.9713 [2008-04-04] | |
399 | - for alarm() and ualarm() [Perl] prefer setitimer() [C] | |
400 | instead of ualarm() [C] since ualarm() [C] cannot portably | |
401 | (and standards-compliantly) be used for more than 999_999 | |
402 | microseconds (rt.cpan.org #34655) | |
403 | - it seems that HP-UX has started (at least in 11.31 ia64) | |
404 | #defining the CLOCK_REALTIME et alia (instead of having | |
405 | them just as enums) | |
b88265bf | 406 | - document all the diagnostics |
df003a36 JH |
407 | |
408 | 1.9712 [2008-02-09] | |
409 | - move the sub tick in the test file back to where it used to be | |
410 | - in the "consider upgrading" message recommend at least Perl 5.8.8 | |
411 | and make the message to appear only for 5.8.0 since 5.8.1 and | |
412 | later have the problem fixed | |
413 | - VOS tweak for Makefile (core perl change #33259) | |
414 | - since the test #17 seems to fail often, relax its limits a bit | |
415 | ||
416 | 1.9711 [2007-11-29] | |
417 | - lost VMS test skippage from Craig Berry | |
418 | - reformat the test code a little | |
419 | ||
420 | 1.9710 [2007-11-29] | |
421 | - I got the sense of the QNX test the wrong way in an attempt | |
422 | to generalize it for future | |
423 | ||
424 | 1.9709 [2007-11-28] | |
425 | - casting fixes from Robin Barker for g++ and 64bitint | |
426 | - in QNX skip the itimer tests because though the API | |
427 | is there, the implementation isn't, from Matt Kraai | |
428 | - raise the dead man timer to 180 seconds for really | |
429 | slow/busy systems | |
430 | - elaborate the UTF-8 locale warning from Makefile.PL | |
431 | ||
432 | 1.9708 [2007-10-05] | |
433 | - [rt.cpan.org #29747]: Build failure with perl 5.005_05 | |
434 | Fixed by regenerating the ppport.h using Devel::PPPort 3.13. | |
435 | ||
436 | 1.9707 [2007-02-27] | |
437 | - t/HiRes.t failed in Perl 5.6.2, | |
438 | "action is not of type POSIX::SigAction at t/HiRes.t line 318", | |
439 | reported and fixed by Anton Berezin, the reason was faulty | |
440 | use of sigaction() when restoring the old action. | |
441 | ||
442 | 1.9706 [2007-02-25] | |
443 | - with bleadperl in VMS the HiRes.t overrun the maximum number | |
444 | of deferred signals because the libc SIGALRM was not strong | |
445 | enough to interrupt select(), and select() got restarted every | |
446 | time, solution is to use POSIX::SigAction if available. | |
447 | A fix from Craig Berry (not 100% there, but helps). | |
448 | - allow for more measuring noise for ualarm() tests 35..37 | |
449 | ||
450 | 1.9705 [2007-02-06] | |
451 | - nanosleep() and clock_nanosleep() detection and use were | |
452 | quite broken; in Linux -lrt needed; fixes from Zefram | |
453 | - [internal] slightly cleaner building of $DEFINE in Makefile.PL, | |
454 | should avoid double/conflicting -D flags | |
455 | ||
456 | 1.9704 [2007-01-01] | |
457 | - allow 10% of slop in test #14 (testing difference between | |
458 | CORE::time() and Time::HiRes::time()), there seem to be often | |
459 | transient failures from Perl smoke builds on this test | |
460 | - small pod tweaks | |
461 | ||
462 | 1.9703 [2006-12-08] | |
463 | - use int main(int argc, char **argv) consistently in Makefile.PL, | |
464 | should help with | |
465 | [rt.cpan.org #23868] nanosleep not detected under Mac OS 10.3.9 starting with Time::HiRes 1.96 | |
466 | - if someone still has the locale-broken Perl 5.8.0, | |
467 | suggest that they upgrade their Perl | |
468 | ||
469 | 1.9702 [2006-12-06] | |
470 | - restore the -DATLEASTFIVEOHOHFIVE, Win32 needed it still | |
471 | ||
472 | 1.9701 [2006-12-04] | |
473 | - upgrade to ppport.h 3.10_02 | |
474 | - remove the -DATLEASTFIVEOHOHFIVE | |
475 | - use the ppport.h PL_ppaddr, PL_statcache, PL_laststatval | |
476 | - use the ppport.h aTHXR for calling Perl stat() | |
477 | - switch into four-digit version since 2.0 is coming up | |
478 | awfully fast but not feeling like a major rewrite | |
479 | ||
480 | 1.97 [2006-11-30] | |
481 | - 1.95 broke building in Win32 (since pp_stat is not exported), | |
482 | figured out how to call an op directly in 5.005 (use Perl_ppaddr | |
483 | instead of PL_ppaddr) | |
484 | - backport to Perl 5.004_05 (requires using statcache | |
485 | and laststatval instead of PL_statcache and PL_laststatval) | |
486 | (also checked to work in 5.005_04, 5.6.1, and 5.8.8 with threads) | |
487 | ||
488 | 1.96 [2006-11-30] | |
489 | - 1.95 broke builds for threaded Perls, rt.cpan.org tickets: | |
490 | [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1 | |
491 | [rt.cpan.org #23712] Time-HiRes 1.95 Fails make on AIX 5.2 with Perl 5.8.8 | |
492 | [rt.cpan.org #23730] Time::HiRes 1.95 fails make on MacOS X 10.3.9/perl 5.8.8 | |
493 | - use main() prototype consistently in Makefile.PL | |
494 | ||
495 | 1.95 [2006-11-29] | |
496 | - integrate core change #29180: Silence VC++ compiler warnings | |
497 | from Steve Hay | |
498 | - do not use PL_ppaddr in stat() because that is not available | |
499 | in Perl 5.005_04 | |
500 | - regenerate fallback/*.inc for older Perls without | |
501 | ExtUtils::Constant because of d_hires_stat, resolves | |
502 | [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1 | |
503 | - Make Makefile.PL more defensive against false PERL_CORE | |
504 | ||
505 | 1.94 [2006-10-16] | |
506 | - file timestamps oddities seen: the atime and mtime | |
507 | can be out of sync (modify first and read second can leave | |
508 | atime < mtime) and mtime can be subsecond while atime is not. | |
509 | So make the test more forgiving. | |
510 | ||
511 | 1.93 [2006-10-15] | |
512 | - the ualarm() tests (34-37) assumed that ualarm(N) | |
513 | could never alarm in less than N seconds, widened | |
514 | the acceptable relative range to 0.9..1.5. Addresses | |
515 | [rt.cpan.org #22090] and [rt.cpan.org #22091]. | |
516 | ||
517 | - skip the stat() tests in cygwin and win32, because | |
518 | if run on FAT the timestamp granularity is only 2 seconds. | |
519 | Any good way to detect (cygwin or win32) whether we are | |
520 | being run on NTFS or anywhere with better timestamps? | |
521 | Addresses [rt.cpan.org #22089] and [rt.cpan.org #22098]. | |
522 | ||
523 | 1.92 [2006-10-13] | |
524 | - scan for subsecond resolution timestamps in struct stat, | |
525 | some known possibilities: | |
526 | ||
527 | (1) struct timespec st_atimespec; | |
528 | st_atimespec.tv_nsec; | |
529 | (2) time_t st_atime; | |
530 | long st_atimensec; | |
531 | (3) time_t st_atime; | |
532 | int st_atime_n; | |
533 | (4) timestruc_t st_atim; | |
534 | st_atim.tv_nsec | |
535 | (5) time_t st_atime; | |
536 | int st_uatime; | |
537 | ||
538 | If something like this is found, one can do | |
539 | ||
540 | use Time::HiRes; | |
541 | my @stat = Time::HiRes::stat(); | |
542 | ||
543 | or even override the standard stat(): | |
b88265bf | 544 | |
df003a36 JH |
545 | use Time::HiRes qw(stat); |
546 | ||
547 | to get the stat() timestamps | |
548 | ||
549 | my ($atime, $mtime, $ctime) = @stat[8, 9, 10]; | |
550 | ||
551 | with subsecond resolution (assuming both the operating | |
552 | system and the filesystem support that kind of thing). | |
553 | ||
554 | Contributions for more systems (especially non-UNIX, | |
555 | e.g. but not limited to: Win32, VMS, OS/2) gladly accepted. | |
556 | (also more UNIX variants welcome: HP-UX? IRIX?) | |
557 | ||
558 | Thanks to H.Merijn Brand, John Peacock, and Craig | |
559 | Berry for brave beta testing. | |
560 | ||
561 | 1.91 [2006-09-29] | |
562 | - ualarm() in SuSE 10.1 was overflowing after ~4.2 seconds, | |
563 | possibly due to a glibc bug/feature (suspected overflow at | |
564 | 2**32 microseconds?), workaround by using the setitimer() | |
565 | implementation of ualarm() if either useconds or | |
566 | interval > 999_999 (this case seems to vary between systems: | |
567 | are useconds more than 999_999 for ualarm() defined or not) | |
568 | Added more ualarm() tests to catch various overflow points, | |
569 | hopefully no problems in various platforms. | |
570 | (The problem report by Mark Seger and Jon Paul Sullivan of HP.) | |
571 | ||
572 | 1.90 [2006-08-22] | |
573 | - tweak still needed for Const64(), from Jerry Hedden | |
574 | - get a freshly generated ppport.h | |
575 | - update Copyright years | |
576 | ||
577 | 1.89 [2006-08-22] | |
578 | - Const64() already appends an 'LL' (or i64), so provide LL and i64 | |
579 | forms for the IV_1E[679] (effects Win32 and Cygwin), reported by | |
580 | Jerry Hedden. | |
581 | - the Changes entry for 1.88 talked about [IN]V_1[679], | |
582 | missing the 'E'. | |
583 | ||
584 | 1.88 [2006-08-21] | |
585 | - clean up the g++ warnings in HiRes.xs, all of them | |
586 | about mixing integer and floating point, introduce | |
587 | constants IV_1E[679] and NV_1E[679] | |
588 | ||
589 | 1.87 [2006-02-13] | |
590 | - [rt.cpan.org #17442] 'make test' frequently fails under | |
591 | Cygwin Perl v5.8.8, reported and patched by J. R. Hedden | |
592 | (two race condition bugs in the END block in the case the | |
593 | main process dies before the timer process, unearthed | |
594 | by a bug in Cygwin ualarm) | |
595 | ||
596 | 1.86 [2005-12-17] | |
597 | - HiRes.t:s/ok 32/ok 33/, from Dominic Dunlop | |
598 | - tighten up the clock() test marginally by requiring non-negative | |
599 | - clock_nanosleep() and clock() doc tweaks | |
600 | ||
601 | 1.85 [2005-12-16] | |
602 | - the interface to clock_nanosleep() is more natural | |
603 | when it is like (hires) time() (instead of like nanosleep), | |
604 | and the .xs implementation of clock_nanosleep() in 1.84 | |
605 | was broken anyway | |
606 | - the semantics of clock() are not quite so silly as I thought, | |
607 | but still somewhat odd, documented as such | |
608 | - additional enhancements to the clock() documentation | |
609 | - add test for clock_nanosleep() (I cannot test this | |
610 | since none of my systems have the function) | |
611 | - add test for clock() | |
612 | ||
613 | 1.84 [2005-12-16] | |
614 | - add clock() which returns the processor time in | |
615 | (floating point) seconds since an arbitrary era | |
616 | - add clock_nanosleep() which suspends the current | |
617 | thread until either absolute time or for relative time | |
618 | - [rt.cpan.org #16486] printf missing value in HiRes.t | |
619 | - add constants CLOCKS_PER_SEC, CLOCK_SOFTTIME, TIMER_ABSTIME | |
620 | - tiny typo fixes | |
621 | ||
622 | 1.83 [2005-11-19] | |
623 | - has_symbol() was wrong since e.g. ITIMER_VIRTUAL is exported | |
624 | via @EXPORT_OK even when it is not available. This is heinous. | |
625 | @EXPORT_OK should be determined at Makefile.PL time. | |
626 | - be more lenient is testing clock_gettime(): allow more slop, | |
627 | and retry up to three times, sleeping a random nap between | |
628 | the retries | |
629 | - human months are one-based (noticed by Anton Berezin) | |
630 | ||
631 | 1.82 [2005-10-06] | |
632 | - CLOCK_REALTIME is an enum value (of the clockid_t enum) | |
633 | in HP-UX (and might be so elsewhere, too), debugged by | |
634 | H. Merijn Brand | |
635 | - include const-c.inc as late as possible (from Randy Kobes, | |
636 | [rt.cpan.org #15552] to avoid undefined usleep() on Win32 | |
637 | ||
638 | 1.81 [2005-11-05] | |
639 | - try to be more robust and consistent in the detection of | |
640 | CLOCK_REALTIME and ITIMER_VIRTUAL in HiRes.t: the proper | |
641 | way is | |
642 | ||
643 | sub has_symbol { | |
644 | my $symbol = shift; | |
645 | eval 'import Time::HiRes qw($symbol)'; | |
646 | return 0 unless $@ eq ''; | |
647 | return exists ${"Time::HiRes::$symbol"}; | |
648 | } | |
649 | ||
650 | and then use | |
651 | ||
652 | &FOO_BAR | |
653 | ||
654 | in the test. All these moves are needed because | |
655 | ||
656 | 1) one cannot directly do eval 'Time::HiRes::FOO_BAR' | |
657 | because FOO_BAR might have a true value of zero | |
658 | (or in the general case an empty string or even undef) | |
659 | ||
660 | 2) In case FOO_BAR is not available in this platform, | |
661 | &FOO_BAR avoids the bareword warning | |
662 | ||
663 | - wait more (1.5 seconds instead of 0.1) for the CLOCK_REALTIME test | |
664 | but expect the 'customary' slop of 0.20 instead of 0.25 | |
665 | - fixed inside a comment HAS_POLL -> TIME_HIRES_NANOSLEEP | |
666 | - at the end of HiRest.t tell how close we were to termination | |
667 | ||
668 | 1.80 [2005-11-04] | |
669 | - Gisle noticed a mistake (using HAS_NANOSLEEP) in 1.79 | |
670 | ||
671 | 1.79 [2005-11-03] | |
672 | - try nanosleep for emulating usleep -- may help in some weird | |
673 | embedded realtime places which have nanosleep but neither usleep | |
674 | nor select nor poll (doesn't have to be weird embedded realtime | |
675 | place, though -- in many places usleep is nanosleep anyway) | |
676 | - try poll for emulating usleep -- this may help some obscure/old | |
677 | SVR4 places that have neither usleep nor select | |
678 | - a redundant test guard in HiRes.t | |
679 | ||
680 | 1.78 [2005-11-03] | |
681 | - ITIMER_VIRTUAL detection in HiRes.t had problems (that we cannot | |
682 | in the general case fail already at 'use' phase is suboptimal) | |
683 | - fixes to the documentation of clock_gettime() and clock_getres() | |
684 | ||
685 | 1.77 [2005-11-03] | |
686 | - add support for the POSIX clock_gettime() and clock_getres(), | |
687 | if available, either as library calls or as syscalls | |
688 | - be more defensive about missing functionality: break out | |
689 | early (during 'use') if no e.g. clock_getres() is available, | |
690 | and protect our back by trapping those cases also in HiRes.xs | |
691 | - the test added in 1.76 could cause an endless loop e.g. in Solaris, | |
692 | due to mixing of sleep() and alarm() (bad programmer, no cookie!) | |
693 | ||
694 | 1.76 [2005-10-22] | |
695 | - testing for nanosleep had wrong logic which caused nanosleep | |
696 | to become undefined for e.g. Mac OS X | |
697 | - added a test for a core dump that was introduced by Perl 5.8.0 | |
698 | safe signals and was fixed for the time of 5.8.1 (one report of | |
699 | the core dump was [perl #20920]), the test skipped pre-5.8.1. | |
700 | - *cough* s/unanosleep/nanosleep/g; *cough* | |
701 | ||
702 | 1.75 [2005-10-18] | |
703 | - installation patch from Gisle Aas: in Perls 5.8.x and later | |
704 | use MakeMaker INSTALLDIRS value of 'perl' instead of 'site'. | |
705 | ||
706 | 1.74 [2005-09-19] | |
707 | - [cpan #14608] Solaris 8 perl 5.005_03 File::Spec module does not have method rel2abs | |
708 | (the workaround is not to use rel2abs, should not be necessary) | |
709 | - [cpan #14642] U2time wrongly exported on the C API | |
710 | (patch supplied by the reporter, SALVA@cpan.org) | |
711 | - add release dates to Changes | |
712 | ||
713 | 1.73 [2005-08-16] | |
714 | - Time::HiRes::nanosleep support for Solaris [PATCH] | |
715 | (POSIX::uname() not available if building with core perl, | |
716 | from Gisle Aas, via perl5-porters, perl change #25295) | |
717 | ||
718 | 1.72 [2005-07-01] | |
719 | - going back to the 1.68 loader setup (using DynaLoader) | |
720 | since too many weird things starting breaking | |
721 | - fix a typo in José Auguste-Etienne's name | |
722 | ||
723 | 1.71 [2005-06-28] | |
724 | - a thinko in the nanosleep() detection | |
725 | - move more changes stuff from the README to Changes | |
726 | - add -w to the Makefile.PL | |
727 | ||
728 | 1.70 [2005-06-26] | |
729 | - oops in 1.69 about @ISA (not affecting anything but silly) | |
730 | - add copyright 2005 to HiRes.pm | |
731 | - add copyright and license to HiRes.xs | |
732 | - add copyrights 2003, 2004, 2005 to README | |
733 | ||
734 | 1.69 [2005-06-25] | |
735 | - actually run a test for nanosleep | |
736 | (if there is no $Config{d_nanosleep}) since e.g. in AIX 4.2 | |
737 | it seems that one can link in nanosleep() but then calling | |
738 | it fails instantly and sets errno to ENOSYS (Not implemented). | |
739 | This may be fixable in the AIX case by figuring out the right | |
740 | (realtime POSIX?) libs and whatnot, but in the general case | |
741 | running a real test case is better. (Of course, this change | |
742 | will no doubt run into portability problems because of the | |
743 | execution step...) Note that because of hysterical raisins | |
744 | most Perls do NOT have $Config{d_nanosleep} (scanning for | |
745 | it by Configure would in many platforms require linking in | |
746 | things like -lrt, which would in many platforms be a bad idea | |
747 | for Perl itself). | |
748 | (from José Auguste-Etienne) | |
749 | - support XSLoader also since it's much faster | |
750 | (from Alexey Tourbin) | |
751 | - add SEE ALSO (BSD::Resource and Time::TAI64) | |
752 | ||
753 | 1.68 [2005-05-14] | |
754 | - somehow 1.67 had a lot of doubled lines (a major cut-and-paste | |
755 | error suspected), but miraculously it still worked since the | |
756 | doubling took place below the __END__ token | |
757 | - undef Pause() before defining it to avoid redefinition warnings | |
758 | during compilation in case perl.h had already defined Pause() | |
759 | (part of perl change #24271) | |
760 | - minor doc tweaks | |
761 | ||
762 | 1.67 [2005-05-04] | |
763 | - (internal) don't ignore the return value of gettimeofday() | |
764 | - (external) return undef or an empty if the C gettimeofday() fails | |
765 | (affects Time::HiRes gettimeofday() and the hires time()) | |
766 | ||
767 | 1.66 [2004-12-19] | |
768 | - add nanosleep() | |
769 | - fix the 'hierachy' typo in Makefile.PL [rt.cpan.org #8492] | |
770 | - should now build in Solaris [rt.cpan.org #7165] (since 1.64) | |
771 | - should now build in Cygwin [rt.cpan.org #7535] (since 1.64) | |
772 | - close also [rt.cpan.org #5933] "Time::HiRes::time does not | |
773 | pick up time adjustments like ntp" since ever reproducing it | |
b88265bf | 774 | (and therefore verifying a possible fix) in the same environment |
df003a36 JH |
775 | has become rather unlikely |
776 | ||
777 | 1.65 [2004-09-18] | |
778 | - one should not mix u?alarm and sleep (the tests modified | |
779 | by 1.65, #12 and #13, hung in Solaris), now we just busy | |
780 | loop executing an empty block | |
781 | - in the documentation underline the unspecificity of mixing | |
782 | sleeps and alarms | |
783 | - small spelling fixes | |
784 | ||
785 | 1.64 [2004-09-16] | |
786 | - regenerate ppport.h with Devel::PPPort 3.03, | |
787 | now the MY_CXT_CLONE is defined in ppport.h, | |
788 | we no more need to do that. | |
789 | ||
790 | - the test #12 would often hang in sigsuspend() (at least that's | |
791 | where Mac OS X' ktrace shows it hanging). With the sleep()s | |
792 | changed to sleep(1)s, the tests still pass but no hang after | |
793 | a few hundred repeats. | |
794 | ||
795 | 1.63 [2004-09-01] | |
796 | - Win32 and any ithread build: ppport.h didn't define | |
797 | MY_CXT_CLONE, which seems to be a Time-HiRes-ism. | |
798 | ||
799 | 1.62 [2004-08-31] | |
800 | - Skip testing if under PERL_CORE and Time::HiRes has not | |
801 | been Configured (from Marcus Holland-Moritz, core change | |
802 | #23246) | |
803 | - Use ppport.h generated by Devel::PPPort 3.01, | |
804 | allowing cutting away our own portability code. | |
805 | - Don't use $ENV{PERL_CORE} for < 5.6.0. | |
806 | - Don't use "for my $i" for <= 5.003. | |
807 | - Don't use Pause() for <= 5.003. | |
808 | - Can't use newSVpvf for <= 5.003. | |
809 | (most of the changes from Marcus) | |
810 | ||
811 | 1.61 [2004-08-21] | |
812 | - Win32: reset reading from the performance counters every | |
813 | five minutes to better track wall clock time (thanks to | |
814 | PC timers being often quite bad), should help long-running | |
815 | programs. | |
816 | ||
817 | 1.60 [2004-08-15] | |
818 | - Win32: Patch from Steve Hay | |
819 | [PATCH] Re: [perl #30755] [Win32] Different results from Time::HiRes::gettimeofdayunder the debugger | |
820 | to [perl #30755] reported by Nigel Sandever | |
821 | ||
822 | - Cygwin: Use the Win32 recalibration code also in Cygwin if the | |
823 | <w32api/windows.h> APIs are available. Cygwin testing by | |
824 | Yitzchak Scott-Thoennes. | |
825 | ||
826 | - Solaris: use -lposix4 to get nanosleep for Solaris 2.6, | |
827 | after that keep using -lrt, patch from Alan Burlison, | |
828 | bug reported in [cpan #7165] | |
829 | ||
830 | 1.59 [2004-04-08] | |
831 | - Change the Win32 recalibration limit to 0.5 seconds and tweak | |
832 | the documentation to blather less about the gory details of the | |
833 | Win32 implementation and more about the complications in general | |
834 | of meddling with the system clock. | |
835 | ||
836 | 1.58 [2004-04-08] | |
837 | - Document the 1.57 change better. | |
838 | ||
839 | 1.57 [2004-07-04] | |
840 | - Win32/Cygwin/MinGW: if the performance counter drifts by more | |
841 | than two seconds from the system clock (due to ntp adjustments, | |
842 | for example), recalibrate our internal counter: from Jan Dubois, | |
843 | based on [cpan #5933] by Jerry D. Hedden. | |
844 | ||
845 | 1.56 [2004-29-02] | |
846 | - Give a clearer message if the tests timeout (perl change #22253) | |
847 | - Don't use /tmp or its moral equivalents (perl bug #15036, | |
848 | perl change #22258) | |
849 | ||
850 | 1.55 [2004-01-14] | |
851 | - Windows: mingw32 patch from Mike Pomraning (use Perl's Const64() | |
852 | instead of VC-specific i64 suffix) | |
853 | ||
854 | 1.54 [2003-12-31] | |
855 | - Solaris: like Tru64 (dec_osf) also Solaris need -lrt for nanosleep | |
856 | ||
857 | 1.53 [2003-12-30] | |
858 | - Windows: higher resolution time() by using the Windows | |
859 | performance counter API, from Jan Dubois and Anton Shcherbinin. | |
860 | The exact new higher resolution depends on the hardware, | |
861 | but it should be quite a bit better than using the basic | |
862 | Windows timers. | |
863 | ||
864 | 1.52 [2003-10-28] | |
865 | - In AIX (v?) with perl 5.6.1 the HiRes.t can hang after | |
866 | the subtest 18. No known analysis nor fix, but added | |
867 | an alarm (that requires fork() and alarm()) to the test. | |
868 | ||
869 | 1.51 [2003-09-22] | |
870 | - doc tweaks from mjd (perl change #20456) | |
871 | - NCR MP-RAS hints file added (svr4.pl) (perl change #21249) | |
872 | ||
873 | 1.50 [2003-08-02] | |
874 | - add a message (for non-core builds) to Makefile.PL about | |
875 | the LC_ALL=C workaround | |
876 | - &Time::HiRes::d_nanosleep was broken (perl change #20131) | |
877 | - the nanosleep() probe was broken (perl change #20061) | |
878 | - use existence instead of definedness for feature probes | |
879 | (perl change #20043) | |
880 | - MPE/iX tweak (perl change #20042) | |
881 | - do not use HAS_NANOSLEEP (perl change #19898) | |
882 | ||
883 | 1.49 [2003-06-23] | |
884 | - UVuf for non-IVSIZE platforms (from Keiichiro Nagano) | |
885 | - OS/2 can always mix subsecond sleeps with signals | |
886 | (part of perl change #19789) | |
887 | ||
888 | 1.48 [2003-06-04] | |
889 | - workaround for buggy gcc 2.95.3 in openbsd/sparc64 | |
890 | (perl change #19592) | |
891 | ||
892 | 1.47 [2003-05-03] | |
893 | - do not use -lrt in Linux (from March Lehmann, perl change #19449) | |
894 | - unnecessary (nanosleep is in libc anyway) | |
895 | - harmful (-lrt slows down execution) | |
896 | - incompatible (with many distributions' pthreads) | |
897 | ||
898 | 1.46 [2003-04-25] | |
899 | - do not create files in blib directories under core | |
900 | (perl change #19160, from rgs) | |
901 | - detypo s/VTLARM/VTARLM/ (perl change #19328, from mjd) | |
902 | ||
903 | 1.45 [2003-04-01] | |
904 | - guarantee that $xdefine in HiRes.t is always defined | |
905 | (perl change #19109, from IlyaZ) | |
906 | - a cleaner way to detect PERL_CORE (perl change #19111, | |
907 | from IlyaZ) | |
908 | ||
909 | 1.44 [2003-03-30] | |
910 | - add hints/irix.pl to turn off overly POSIX flags that | |
911 | cause hide struct timespec to be hidden (and compilation | |
912 | to fail) (bleadperl change #19085) | |
913 | - documentation tweaks | |
914 | ||
915 | 1.43 [2003-03-11] | |
916 | - add c:/temp to the list of temp directories to probe | |
917 | so that cygwin (and win*?) builds are happy. This was | |
918 | needed at least in my cygwin 1.3.20/w2k setup. | |
919 | ||
920 | 1.42 [2003-01-07] | |
921 | - modernize the constants code (from Nicholas Clark) | |
922 | ||
923 | 1.41 [2003-01-03] | |
924 | - At some point the ability to figure our the correct incdir | |
925 | for EXTERN.h (either a core perl build, or an installed perl) | |
926 | had broken (which lead into all test compiles failing with | |
927 | a core perl build, but thanks to the robustness of Makefile.PL | |
928 | nothing of this was visible). The brokenness seemed to be | |
929 | caused by $ENV{PERL_CORE} not being on for core builds? | |
930 | Now stole a trick from the Encode that sets $ENV{PERL_CORE} | |
931 | right, and both styles of build should work again. | |
932 | ||
933 | 1.40 [2003-01-03] | |
934 | - Nicholas Clark noticed that the my_catdir() emulation function | |
935 | was broken (which means that we didn't really work for Perls | |
936 | 5.002 and 5.003) | |
937 | - inspired by fixing the above made the whole Makefile.PL -w | |
938 | and strict clean | |
939 | - tightened up the Makefile.PL output, less whitespace | |
940 | ||
941 | 1.39 [2003-10-20] | |
942 | - fix from Craig Berry for better building in VMS with PERL_CORE | |
943 | ||
944 | 1.38 [2003-10-13] | |
945 | - no functional changes | |
946 | - move lib/Time/HiRes.pm as Hires.pm | |
947 | - libraries scanning was slightly broken (always scanned | |
948 | for a library even when $Config{libs} already had it) | |
949 | ||
950 | 1.37 [2003-09-23] | |
951 | - Ray Zimmerman ran into a race condition in Mac OS X. | |
952 | A 0.01-second alarm fired before the test expected. | |
953 | The test first slept indefinitely (blocking for signals) | |
954 | and only after that tested for the signal having been sent. | |
955 | Since the signal had already been sent, the test #12 never | |
956 | completed. The solution: test first, then block. | |
957 | - default to being silent on all probing attempts, set the | |
958 | environment variable VERBOSE to a true value to see the | |
959 | details (the probing command and the possible errors) | |
960 | ||
961 | 1.36 [2003-09-12] | |
962 | - do not clear MAN3PODS in Makefile.PL (Radoslaw Zielinski) | |
963 | - INSTALLDIRS => 'perl' missing which means that Time::HiRes | |
964 | cannot be upgraded from CPAN to override the 5.8.0 version | |
965 | (Guido A. Ostkamp) | |
966 | - Time::HiRes 1.35 could not be dropped as-is to bleadperl | |
967 | because the include directories did not adjust themselves | |
968 | if $ENV{PERL_CORE} (Hugo van der Sanden) | |
969 | - add documentation about the restart of select() under alarm() | |
970 | ||
971 | 1.35 [2003-08-24] | |
972 | - small documentation tweaks | |
973 | ||
974 | ||
975 | 1.34 [2003-08-22] | |
976 | - better VMS operation (Craig Berry) | |
977 | ||
978 | 1.33 [2003-08-20] | |
979 | - our time machine is accelerating: now works with Perl 5.004_01 | |
980 | (tried with 5.003_07 and 5.002 but I get segmentation faults | |
981 | from running the Makefile.PL with those in Tru64 4.0D) | |
982 | ||
983 | 1.32 [2003-08-20] | |
984 | - backward compatibility (pre-5.6.0) tweaks: | |
985 | - no XSLoader in 5.00503, use DynaLoader instead | |
986 | - no SvPV_nolen, either | |
987 | - no PerlProc_pause(), either | |
988 | - now tested with 5.00404 and 5.00503 | |
989 | - Makefile.PL requires 5.00404 (no more 5.002) | |
990 | - use nanosleep instead of usleep, if it is available (Wilson Snyder) | |
991 | (this means that one can mix subsecond sleeps with alarms) | |
992 | - because of nanosleep we probe for -lrt and -lposix4 | |
993 | - the existence of getitimer/nanosleep/setitimer/ualarm/usleep | |
994 | is available by exportable constants Time::HiRes::d_func | |
995 | (since older Perl do not have them in %Config, and even | |
996 | 5.8.0 does not probe for nanosleep) | |
997 | ||
998 | 1.31 [2003-08-19] | |
999 | - backward compatibility (pre-5.6.1) tweaks: | |
1000 | - define NV if no NVTYPE | |
1001 | - define IVdf if needed (note: the Devel::PPPort | |
a3815e44 | 1002 | in 5.8.0 does not try hard enough since |
df003a36 JH |
1003 | the IVSIZE might not be defined) |
1004 | - define NVgf if needed | |
1005 | - grab the typemap from 5.8.0 for the NV stuff | |
1006 | ||
1007 | 1.31 and 1.32 add more backward compatibility (now all the way | |
1008 | back to Perl 5.00404), and using nanosleep() (if available) for | |
1009 | subsecond sleeps. | |
1010 | ||
1011 | 1.30 [2003-08-16] | |
1012 | ||
1013 | - release 1.29_02 as 1.30 | |
1014 | ||
1015 | 1.30 adds all the changes made during the Perl 5.6->5.7->5.8 | |
1016 | development cycle. Most notably portability across platforms has been | |
1017 | enhanced, and the interval timers (setitimer, getitimer) have been | |
1018 | added. Note that the version of Time::HiRes that is included in Perl | |
1019 | 5.8.0 calls itself 1.20_00, but it is equivalent to this Time::HiRes | |
1020 | version. Note also that in 1.30 Wegscheid turns over the maintenance | |
1021 | to Jarkko Hietaniemi. | |
1022 | ||
1023 | 1.29_02 [2003-08-16] | |
1024 | ||
1025 | - fix a silly unclosed comment typo in HiRes.xs | |
1026 | - document and export REALTIME_REALPROF (Solaris) | |
1027 | ||
1028 | 1.29_01 [2003-08-16] | |
1029 | ||
1030 | - only getitimer(ITIMER_REAL) available in Cygwin and Win32 | |
1031 | (need to patch this also in Perl 5.[89]) | |
1032 | - remove CVS revision log from HiRes.xs | |
1033 | ||
1034 | 1.29_00 [2003-08-14] | |
1035 | ||
1036 | The following numbered patches refer to the Perl 5.7 changes, | |
1037 | you can browse them at http://public.activestate.com/cgi-bin/perlbrowse | |
1038 | ||
1039 | - 17558: Add #!./perl to the .t | |
1040 | - 17201: linux + usemorebits fix, from Rafael Garcia-Suarez | |
1041 | - 16198: political correctness, from Simon Cozens | |
1042 | - 15857: doc tweaks, from Jarkko Hietaniemi | |
1043 | - 15593: optimization in .xs, from Paul Green | |
1044 | - 14892: pod fixes, from Robin Barker | |
1045 | - 14100: VOS fixes, from Paul Green | |
1046 | - 13422: XS segfault, from Marc Lehmann | |
1047 | - 13378: whether select() gets restarted on signals, depends | |
1048 | - 13354: timing constraints, again, from Andy Dougherty | |
1049 | - 13278: can't do subsecond alarms with ualarm; | |
1050 | break out early if alarms do not seem to be working | |
1051 | - 13266: test relaxation (cygwin gets lower hires | |
1052 | times than lores ones) | |
1053 | - 12846: protect against high load, from Jarkko Hietaniemi | |
1054 | - 12837: HiRes.t VMS tweak, from Craig A. Berry | |
1055 | - 12797: HiRes.t VMS tweak, from Charles Lane | |
1056 | - 12769: HiRes.t VMS tweak, from Craig A. Berry | |
1057 | - 12744: gcc vs MS 64-bit constant syntax, from Nick Ing-Simmons | |
1058 | - 12722: VMS ualarm for VMS without ualarm, from Charles Lane | |
1059 | - 12692: alarm() ain't gonna work if ualarm() ain't, | |
1060 | from Gurusamy Sarathy | |
1061 | - 12680: minor VMS tweak, from Charles Lane | |
1062 | - 12617: don't try to print ints as IVs, from Jarkko Hietaniemi | |
1063 | - 12609: croak on negative time, from Jarkko Hietaniemi | |
1064 | - 12595: Cygwin rounds up for time(), from Jarkko Hietaniemi | |
b88265bf | 1065 | - 12594: MacOS Classic timeofday, from Chris Nandor |
df003a36 JH |
1066 | - 12473: allow for more than one second for sleep() and usleep() |
1067 | - 12458: test tuning, relax timing constraints, | |
1068 | from Jarkko Hietaniemi | |
1069 | - 12449: make sleep() and usleep() to return the number | |
1070 | of seconds and microseconds actually slept (analogously | |
1071 | with the builtin sleep()), also make usleep() croak if | |
1072 | asked for more than 1_000_000 useconds, from Jarkko Hietaniemi | |
1073 | - 12366: Time::HiRes for VMS pre-7.0, from Charles Lane | |
1074 | - 12199: do not use ftime on Win32, from Gurusamy Sarathy | |
1075 | - 12196: use ftime() on Win32, from Artur Bergman | |
1076 | - 12184: fix Time::HiRes gettimeofday() on Win32, from Gurusamy Sarathy | |
1077 | - 12105: use GetSystemTime() on Win32, from Artur Bergman | |
1078 | - 12060: explain the 1e9 seconds problem, from Jarkko Hietaniemi | |
1079 | - 11901: UNICOS sloppy division, from Jarkko Hietaniemi | |
1080 | - 11797: problem in HiRes.t, from John P. Linderman | |
1081 | - 11414: prototype from Time::HiRes::sleep(), from Abhijit Menon-Sen | |
1082 | - 11409: Time::HiRes qw(sleep) failed, from Abhijit Menon-Sen | |
b88265bf | 1083 | - 11270: dynix/ptx 4.5.2 hints fix, from Peter Prymmer |
df003a36 JH |
1084 | - 11032: VAX VMS s/div/lib\$ediv/ fix, from Peter Prymmer |
1085 | - 11011: VAX VMS s/qdiv/div/ fix, from Peter Prymmer | |
1086 | - 10953: SCO OpenServer 5.0.5 requires an explicit -lc for usleep(), | |
1087 | from Jonathan Stowe | |
1088 | - 10942: MPE/IX test tweaks, from Mark Bixby | |
b88265bf | 1089 | - 10784: unnecessary pod2man calls, from Andy Dougherty |
df003a36 JH |
1090 | - 10354: ext/ + -Wall, from Doug MacEachern |
1091 | - 10320: fix the BOOT section to call myU2time correctly | |
1092 | - 10317: correct casting for AIX< from H. Merijn Brand | |
1093 | - 10119: document that the core time() may be rounding, not truncating | |
1094 | - 10118: test fix, from John Peacock | |
1095 | - 9988: long =item, from Robin Barker | |
1096 | - 9714: correct test output | |
1097 | - 9708: test also the scalar aspect of getitimer() | |
1098 | - 9705: Add interval timers (setitimer, getitimer) | |
1099 | - 9692: do not require at least 5.005 using XS | |
b88265bf | 1100 | |
df003a36 JH |
1101 | The following changes were made on top of the changes |
1102 | made for Time::HiRes during the Perl 5.7 development | |
b88265bf | 1103 | cycle that culminated in the release of Perl 5.8.0. |
df003a36 JH |
1104 | |
1105 | - add "require 5.005" to the Makefile.PL | |
1106 | - remove the REVISION section (CVS log) from HiRes.pm | |
1107 | - add jhi's copyright alongside Douglas' | |
1108 | - move HiRes.pm to lib/Time/ | |
1109 | - move HiRes.t to t/ | |
1110 | - modify HiRes.t to use $ENV{PERL_CORE} | |
1111 | - modify the original Time::HiRes version 1.20 Makefile.PL | |
1112 | to work both with Perl 5.8.0 and the new code with pre-5.8.0 | |
1113 | Perls (tried with 5.6.1) | |
1114 | - tiny tweaks and updates in README and TODO | |
1115 | - bump the VERSION to 1.29 | |
1116 | ||
1117 | 1.20 Wed Feb 24 21:30 1999 | |
b88265bf | 1118 | - make our usleep and ualarm substitutes into hrt_usleep |
df003a36 JH |
1119 | and hrt_ualarm. This helps static links of Perl with other |
1120 | packages that also have usleep, etc. From | |
1121 | Ilya Zakharevich <ilya@math.ohio-state.edu> | |
1122 | - add C API stuff. From Joshua Pritikin | |
1123 | <joshua.pritikin@db.com> | |
1124 | - VMS Makefile.PL fun. From pvhp@forte.com (Peter Prymmer) | |
1125 | - hopefully correct "-lc" fix for SCO. | |
1126 | - add PPD stuff | |
1127 | ||
1128 | 1.20 adds a platform neutral set of C accessible routines if you are | |
1129 | running 5.005+. All other changes are packaging changes and build | |
1130 | fixes(?) for statically linked Perl, SCO, and VMS. | |
1131 | ||
1132 | 1.19 Tue Sep 29 22:30 1998 | |
1133 | - put VMS gettimeofday() in. Patch is from Sebastian Bazley | |
1134 | <seb@stian.demon.co.uk> | |
1135 | - change GIMME_V to GIMME to help people with older versions of | |
1136 | Perl. | |
1137 | - fix Win32 version of gettimeofday(). It didn't affect anything, | |
1138 | but it confuses people reading the code when the return value | |
1139 | is backwards (0 is success). | |
1140 | - fix Makefile.PL (more) so that detection of gettimeofday is | |
1141 | more correct. | |
1142 | ||
1143 | 1.19 has better VMS support. | |
1144 | ||
1145 | 1.18 Mon Jul 6 22:40 1998 | |
1146 | - add usleep() for Win32. | |
1147 | - fix Makefile.PL to fix reported HP/UX feature where unresolved | |
1148 | externals still cause an executable to be generated (though no | |
1149 | x bit set). Thanks to David Kozinn for report and explanation. | |
1150 | Problems with the fix are mine :) | |
1151 | ||
1152 | 1.18 has limited Win32 support (no ualarm). Added usleep for Win32. | |
1153 | Probably buggy. I'm sure I'll hear. | |
1154 | ||
1155 | 1.17 Wed Jul 1 20:10 1998 | |
1156 | - fix setitimer calls so microseconds is not more than 1000000. | |
1157 | Hp/UX 9 doesn't like that. Provided by Roland B Robert, PhD. | |
1158 | - make Win32. We only get gettimeofday (the select hack doesn't | |
1159 | seem to work on my Win95 system). | |
b88265bf | 1160 | - fix test 4 on 01test.t. add test to see if time() and |
df003a36 JH |
1161 | Time::HiRes::time() are close. |
1162 | ||
1163 | 1.16 Wed Nov 12 21:05 1997 | |
1164 | - add missing EXTEND in new gettimeofday scalar code. | |
1165 | ||
1166 | 1.16+ should be closer to building out of the box on Linux. Thanks | |
1167 | to Gisle Aas for patches, and the ualarm equivalent using setitimer. | |
1168 | ||
1169 | If your underlying operating system doesn't implement ualarm(), then | |
1170 | a fake using setitimer() will be made. If the OS is missing usleep(), | |
1171 | a fake one using select() will be made. If a fake can't be made for | |
1172 | either ualarm() or usleep(), then the corresponding Perl function will | |
1173 | not be available. If the OS is missing gettimeofday(), you will get | |
1174 | unresolved externals, either at link- or run-time. | |
1175 | ||
1176 | This is an improvement; the package used to not even build if | |
1177 | you were missing any of these bits. Roderick Schertler | |
1178 | ||
1179 | <roderick@argon.org> did all the conditional compilation stuff, | |
1180 | look at HiRes.pm and the test suites; it's good educational reading. | |
1181 | ||
1182 | 1.15 Mon Nov 10 21:30 1997 | |
1183 | - HiRes.pm: update pod. Provided by Gisle Aas. | |
1184 | - HiRes.xs: if gettimeofday() called in scalar context, do | |
1185 | something more useful than before. Provided by Gisle Aas. | |
1186 | - README: tell of xsubpp '-nolinenumber' woes. thanks to | |
1187 | Edward Henigin <ed@texas.net> for pointing out the problem. | |
1188 | ||
1189 | 1.14 Wed Nov 5 9:40 1997 | |
1190 | - Makefile.PL: look for setitimer | |
1191 | - HiRes.xs: if missing ualarm, but we have setitimer, make up | |
1192 | our own setitimer. These were provided by Gisle Aas. | |
1193 | ||
1194 | 1.13 Tue Nov 4 23:30 1997 | |
1195 | - Makefile.PL: fix autodetect mechanism to do try linking in addition | |
1196 | to just compiling; should fix Linux build problem. Fix was provided | |
1197 | by Gisle Aas. | |
1198 | ||
1199 | 1.12 Sun Oct 12 12:00:00 1997 | |
1200 | - Makefile.PL: set XSOPT to '-nolinenumbers' to work around xsubpp bug; | |
1201 | you may need to comment this back out if you have an older xsubpp. | |
1202 | - HiRes.xs: set PROTOTYPES: DISABLE | |
1203 | ||
1204 | 1.11 Fri Sep 05 16:00:00 1997 | |
1205 | - Makefile.PL: | |
1206 | Had some line commented out that shouldn't have been (testing | |
1207 | remnants) | |
1208 | - README: | |
1209 | Previous version was corrupted. | |
1210 | ||
1211 | 1.10 Thu May 22 20:20:00 1997 | |
1212 | - HiRes.xs, HiRes.pm, t/*: | |
b88265bf | 1213 | - only compile what we have OS support for (or can |
df003a36 | 1214 | fake with select()) |
b88265bf | 1215 | - only test what we compiled |
df003a36 | 1216 | - gross improvement to the test suite |
b88265bf | 1217 | - fix EXPORT_FAIL. |
df003a36 JH |
1218 | This work was all done by Roderick Schertler |
1219 | <roderick@argon.org>. If you run Linux or | |
b88265bf JH |
1220 | one of the other ualarm-less platforms, and you like this |
1221 | module, let Roderick know; without him, it still wouldn't | |
df003a36 JH |
1222 | be working on those boxes... |
1223 | - Makefile.PL: figure out what routines the OS has and | |
b88265bf | 1224 | only build what we need. These bits were written by Jarkko |
df003a36 JH |
1225 | Hietaniemi <jhi@iki.fi>. Again, gratitude is due... |
1226 | ||
1227 | 1.02 Mon Dec 30 08:00:00 1996 | |
1228 | - HiRes.pm: update documentation to say what to do when missing | |
1229 | ualarm() and friends. | |
1230 | - README: update to warn that ualarm() and friends need to exist | |
1231 | ||
1232 | 1.01 Fri Oct 17 08:00:00 1996 | |
1233 | - Makefile.PL: make XSPROTOARGS => '-noprototyopes' | |
b88265bf | 1234 | - HiRes.pm: put blank line between __END__ and =head1 so that |
df003a36 JH |
1235 | pod2man works. |
1236 | ||
1237 | 1.00 Tue Sep 03 13:00:00 1996 | |
1238 | - original version; created by h2xs 1.16 |