NAME
POSIX::RT::Clock - POSIX real-time clocks
VERSION
Version 0.007
SYNOPSIS
use POSIX::RT::Timer;
my $timer = POSIX::RT::Clock->new('monotonic');
$timer->sleep(1);
DESCRIPTION
POSIX::RT::Clock offers access to various clocks, both portable and OS dependent.
METHODS
Class methods
new($type)
Create a new clock. The
$type
s supported are documented inget_clocks
.get_clocks()
Get a list of all supported clocks. These will be returned by their names, not as objects. Possible values include (but may not be limited to):
realtime
The same clock as
time
and Time::HiRes use. It is the only timer guaranteed to always available and is therefor the default.monotonic
A non-settable clock guaranteed to be monotonic. This is defined in POSIX and supported on most operating systems.
process
A clock that measures (user and system) CPU time consumed by (all of the threads in) the calling process. This is supported on many operating systems.
thread
A clock that measures (user and system) CPU time consumed by the calling thread. This is Linux specific.
uptime
A clock that measures the uptime of the system. This is FreeBSD specific.
virtual
A clock that counts time the process spent in userspace. This is supported only in FreeBSD, NetBSD and Solaris.
get_cpuclock($pid = 0)
Get the cpu-time clock for the process specified in $pid. If $pid is zero the current process is taken, this is the same as the
process
clock. This call is currently not supported on most operating systems, despite being defined in POSIX.
Instance methods
get_time()
Get the time of this clock.
set_time($time)
Set the time of this clock. Note that this may not make sense on clocks other than
realtime
and will require sysadmin permissions.get_resolution()
Get the resolution of this clock.
sleep($time, $abstime = 0)
Sleep a
$time
seconds on this clock. Note that it is never restarted after interruption by a signal handler. It returns the remaining time. $time and the return value are relative time unless$abstime
is true. This function may not be available on some operating systems.sleep_deeply($time, $abstime = 0)
Sleep a
$time
seconds on this clock. Unlikesleep
, it will retry on interruption until the time has passed. This function may not be available on some operating systems.timer(%options)
Create a timer based on this clock. All arguments except
clock
as the same as inPOSIX::RT::Timer::new
.
AUTHOR
Leon Timmermans, <leont at cpan.org>
BUGS
Please report any bugs or feature requests to bug-posix-rt-timer at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=POSIX-RT-Timer. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc POSIX::RT::Clock
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
LICENSE AND COPYRIGHT
Copyright 2010 Leon Timmermans.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.