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