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