X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FTime%2FHiRes%2FHiRes.pm;h=72eed1c4a5da801bf94d73a6ee71d1d179e0021f;hb=0225372c57036b54771b8abce5d6355b7e7ed288;hp=eb4e41625d38e6a0e7dc8a348fbb92553296f451;hpb=a0c8e3cf5fa0fae52f31f219ff170d986966c18e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Time/HiRes/HiRes.pm b/ext/Time/HiRes/HiRes.pm index eb4e416..72eed1c 100644 --- a/ext/Time/HiRes/HiRes.pm +++ b/ext/Time/HiRes/HiRes.pm @@ -15,7 +15,7 @@ require DynaLoader; d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer d_nanosleep); -$VERSION = '1.43'; +$VERSION = '1.54'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -83,31 +83,35 @@ Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers =head1 DESCRIPTION -The C module implements a Perl interface to the usleep, -ualarm, gettimeofday, and setitimer/getitimer system calls. See the -EXAMPLES section below and the test scripts for usage; see your system -documentation for the description of the underlying nanosleep or usleep, -ualarm, gettimeofday, and setitimer/getitimer calls. +The C module implements a Perl interface to the C, +C, C, and C/C system calls, in other +words, high resolution time and timers. See the L section below +and the test scripts for usage; see your system documentation for the +description of the underlying C or C, C, +C, and C/C calls. -If your system lacks gettimeofday(2) or an emulation of it you don't -get gettimeofday() or the one-arg form of tv_interval(). If you don't -have nanosleep() or usleep(3) or select(2) you don't get Time::HiRes::usleep() -or sleep(). If your system don't have ualarm(3) or setitimer(2) you -don't get Time::HiRes::ualarm() or alarm(). +If your system lacks C or an emulation of it you don't +get C or the one-argument form of C. If your system lacks all of +C, C, and C, you don't get +C or C. If your system lacks both +C and C you don't get +C or C. If you try to import an unimplemented function in the C statement it will fail at compile time. -If your subsecond sleeping is implemented with nanosleep() instead of -usleep(), you can mix subsecond sleeping with signals since -nanosleep() does not use signals. This, however, is unportable -behavior, and you should first check for the truth value of -C<&Time::HiRes::d_nanosleep> to see whether you have nanosleep, -and then read carefully your nanosleep() C API documentation for -any peculiarities. (There is no separate interface to call nanosleep(); -just use Time::HiRes::sleep() or usleep() with small enough values. Also, -think twice whether using nanosecond accuracies in a Perl program is what -you should be doing.) +If your subsecond sleeping is implemented with C instead of +C, you can mix subsecond sleeping with signals since +C does not use signals. This, however is unportable, and you +should first check for the truth value of C<&Time::HiRes::d_nanosleep> to +see whether you have nanosleep, and then carefully read your +C C API documentation for any peculiarities. (There is no +separate interface to call C; just use C +or C with small enough values.) + +Unless using C for mixing sleeping with signals, give +some thought to whether Perl is the tool you should be using for work +requiring nanosecond accuracies. The following functions can be imported from this module. No functions are exported by default. @@ -116,53 +120,53 @@ No functions are exported by default. =item gettimeofday () -In array context returns a 2 element array with the seconds and +In array context returns a two-element array with the seconds and microseconds since the epoch. In scalar context returns floating -seconds like Time::HiRes::time() (see below). +seconds like C (see below). =item usleep ( $useconds ) Sleeps for the number of microseconds specified. Returns the number -of microseconds actually slept. Can sleep for more than one second -unlike the usleep system call. See also Time::HiRes::sleep() below. +of microseconds actually slept. Can sleep for more than one second, +unlike the C system call. See also C below. =item ualarm ( $useconds [, $interval_useconds ] ) -Issues a ualarm call; interval_useconds is optional and will be 0 if -unspecified, resulting in alarm-like behaviour. +Issues a C call; the C<$interval_useconds> is optional and +will be zero if unspecified, resulting in C-like behaviour. =item tv_interval -C +tv_interval ( $ref_to_gettimeofday [, $ref_to_later_gettimeofday] ) Returns the floating seconds between the two times, which should have -been returned by gettimeofday(). If the second argument is omitted, +been returned by C. If the second argument is omitted, then the current time is used. =item time () Returns a floating seconds since the epoch. This function can be imported, resulting in a nice drop-in replacement for the C