Ejemplo n.º 1
0
etime_t alarm_gettime(alarm_t a) {
#if 0
    now = time_of_secs_usecs(tv.tv_sec, tv.tv_usec) ;

    /* Yuck!!  BUG!!
     */
    if (time_gt(last, now)) {
#if 0
	eprintf("SYS:gettime:time going backwards %d usecs\n",
		(int)(last.usecs - now.usecs)) ;
#endif
	return last ;
    }

    last = now ;
    return now ;
#endif
    return a->gettime(a->env) ;
}
Ejemplo n.º 2
0
int timer_exp (struct timespec *now, struct timespec *b, struct timespec *res)
{
    struct timespec now_te, *ptr_te;
    
    if ( now == NULL )
    {
	clock_gettime (CLOCK_MONOTONIC, &now_te);
	ptr_te = &now_te;
    }
    else
	ptr_te = now;

    if (res != NULL) 
	time_diff (b, ptr_te, res);

    if (time_gt(b, pte_te))
	return 0;

    return 1;
}
Ejemplo n.º 3
0
void time_diff (struct timespec *a, struct timespec *b, struct timespec *res)
{
    if (time_gt (a, b))
    {
	res->tv_sec  = a->tv_sec  - b->tv_sec;
	res->tv_nsec = a->tv_nsec - b->tv_nsec;
	if (res->tv_nsec < 0)
	{
	    res->tv_nsec = NSSECOND + res->tv_nsec;
	    res->tv_sec = res->tv_sec -1;
	}
    }
    else 
    {
	res->tv_sec  = b->tv_sec - a->tv_sec;
	res->tv_nsec = b->tv_nsec - a->tv_nsec;
	if (res->tv_nsec < 0)
	{
	    res->tv_nsec = NSSECOND + res->tv_nsec;
	    res->tv_sec = res->tv_sec -1;
	}
    }
    return;
}