[問題] timer start/stop?
要在process中啟動/停止一個每10ms會執行的timer
現在使用setitimer/signal來做此動作(底下有個範例,有錯誤請糾正)
但是我有幾個問題想請問
1. 啟動timer後,該怎麼暫停?或是刪除?(可否用底下範例說明)
2. handler函式所帶的參數(int a),是要怎麼傳進去呢?
還是說用global變數來傳遞?
感謝!
void my_alarm_handler(int a)
{
cerr<<"test"<<endl;
}
int main() {
struct itimerval t;
t.it_interval.tv_usec = 10000;
t.it_interval.tv_sec = 0;
t.it_value.tv_usec = 0;
t.it_value.tv_sec = 0;
if( setitimer(ITIMER_REAL, &t, NULL) < 0 ) {
cerr<< "setitimer error."<<endl;
return -1;
}
signal(SIGALRM, my_alarm_handler);
while(1) {
sleep(1);
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.165.83
推
03/24 14:50, , 1F
03/24 14:50, 1F
→
03/24 14:51, , 2F
03/24 14:51, 2F
推
03/24 15:54, , 3F
03/24 15:54, 3F
→
03/24 15:56, , 4F
03/24 15:56, 4F
→
03/24 15:56, , 5F
03/24 15:56, 5F
→
03/24 15:57, , 6F
03/24 15:57, 6F
→
03/24 21:27, , 7F
03/24 21:27, 7F
→
03/24 21:28, , 8F
03/24 21:28, 8F
→
03/24 21:29, , 9F
03/24 21:29, 9F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章