[ILUG] [OT] C time_elapsed function

Colm MacCarthaigh colmmacc at redbrick.dcu.ie
Tue Nov 6 18:59:14 GMT 2001


On Tue, Nov 06, 2001 at 06:47:03PM +0000, Padraig Brady wrote:
> Colm MacCarthaigh wrote:
> 
> > On Tue, Nov 06, 2001 at 06:28:44PM +0000, Padraig Brady wrote:
> > 
> >>This just gives the boot time (in seconds since 1970) as far
> >>as I can tell. Hence not what I want. I want the actual number
> >>of seconds elapsed since boot, and I can't use BOOT_TIME-time(0)
> >>as if the system date changes, this will be inaccurate.
> >>
> > 
> > 
> > oh yeah, sorry, the wtmp also keeps a record of clock skews,
> > flaged as OLD_TIME and NEW_TIME
> > 
> > man wtmp for more :o)
> 
> 
> Feck that. It would be easier to write a simple kernel module
> to export /proc/seconds_since_boot


insert this into loop:

	if(u.ut_type == OLD_TIME)
		bt -= u.ut_time;

	if(u.ut_type == NEW_TIME)
		bt += u.ut_time;


you'll have a negative boot time for a few ops so you dont
wann go handling signals or anythign stupid like that,
but it's a safe algorithim on non-borked systems :)

such a kernel module would be worth writing, though it
is niave to think of a kernel as a super-accurate vestry
of timekeeping :)

-- 
------------------------------------------------------------
colmmacc at redbrick.dcu.ie

2eb21625735b864be9a1dd3245a45ce8




More information about the ILUG mailing list