Bryan@SU-SIERRA.ARPA.UUCP (07/13/86)
We have just acquired a Sequent B8000 running BSD4.2 Unix,
and the Verdix compiler. Has anyone written a CPU timer
interface to Unix that can be called from Ada? Would
appreciate any leads. To be specific, we need a package
body that implements the following spec:
package Cpu_Timer is
function Cpu return Duration;
-- returns accumulated Cpu for a process
end Cpu_Timer;
Thanks in advance. Doug & Geoff
-------eric@burdvax.UUCP (Eric Marshall) (07/28/86)
I couldn't reach Bryan@SU-SIERRA.ARPA, so I'm posting
it here. See 'man times' for more information. Hope this helps.
----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< -----
package cpu_timer is
function cpu return duration;
end cpu_timer;
-------------------------------------------------------------------
with system;
use system;
package body cpu_timer is
function cpu return duration is
type time_record is record
user_time,
system_time,
children_user_time,
children_system_time : integer;
end record;
answer : time_record;
procedure times( param : address );
pragma interface( c, times );
begin
times( answer'address );
return duration( duration( answer.user_time ) / duration( 60.0 ) );
----------------------------
|
|
----- put the expression to meet your
requirements regarding what CPU
time is, ie. ( user_time +
system_time +
children_user_time +
children_system_time )
end cpu;
end cpu_timer;