NAME
POSIX::RT::Clock - POSIX real-time clocks
VERSION
version 0.010
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 <fawaka@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.