我在使用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全局的同时做到这一点? 当我第二次尝试启动计时器时代码崩溃。