我可以在timer_delete()之后用相同的timerId重启一个定时器吗?

时间:2017-01-16 14:17:20

标签: c linux timer

我在使用timer_delete()

之后使用相同的timerId重启计时器时遇到问题

我的代码的基本结构如下:

timer_t timerid;/* Global*/

void fun(){
    //Do Something
    timer_delete(timerid);
}

void handler (){
    //Called after timer expiry
    fun();
}

void create_timer(){
    timer_create(CLOCK_MONOTONIC, &sev, &timerid);
    timer_settime(timerid, 0, &its, NULL);
    /* timer is 1 second duration one-shot */
}

int main (){
    while (1){
        //wait for user prompt
        if (userPrompt)
        create_timer();
    }
}

如果您需要更多背景知识,我只想知道我是否可以在保持timerid全局的同时做到这一点? 当我第二次尝试启动计时器时代码崩溃。

0 个答案:

没有答案