In  www.opengroup.org/onlinepubs/000095399/functions/timer_settime.html
, it says "If the it_value member of value is zero, the timer shall be
disarmed."

But in my code above, the timer will not be disarmed but expired
immediately.
Why?
Does some one can help me?

thanks.

On Feb 21, 11:13 pm, Eric <[email protected]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to