hi,
I want to disalarm(stop) an active timer which was created by
timer_create routine with the following code, but it seems doesn't
work.
The timer will expire immediately after the second timer_settime() on
G1. I found it will be disalarmed if i link these code with GNU's
librt.so library.
-------------------------------------------------------------------------------
struct sigevent se;
memset(&se, 0, sizeof(se));
se.sigev_notify = SIGEV_THREAD;
se.sigev_notify_function = handler;
se.sigev_value.sival_int = id;
if(timer_create(CLOCK_REALTIME, &se, tid) < 0)
{
return -1;
}
struct itimerspec ts, ots;
ts.it_value.tv_sec = 5;
ts.it_value.tv_nsec = 0;
ts.it_interval.tv_sec = 0;
ts.it_interval.tv_nsec = 0;
if (timer_settime(*tid, 0, &ts, &ots) < 0)
{
return -1;
}
/* now let's disalarm it */
ts.it_value.tv_sec = 0;
ts.it_value.tv_nsec = 0;
ts.it_interval.tv_sec = 0;
ts.it_interval.tv_nsec = 0;
if (timer_settime(*tid, 0, &ts, &ots) < 0)
{
return -1;
}
----------------------------------------------------------------------------------
thanks.
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---