[問題] 關於 timer signal 編程
版友好
我是在安卓上開發,寫原生程式,也就是以C來編寫
我寫了一個小程式,再一個回圈內做一個一秒後會執行 handlerFunc 的 function
後此function 每一秒後就會進來。
handlerFunc {
ALOGD(變數 A) //印出
變數A = 0; //操作變數A
alarm(1);
}
while {
if(isHidOpen == false) {
fd = open(/dev/hidraw0, O_RDWR);
if(fd) {
isHidOpen = true;
signal(SIGALARM, handlerFunc);
}
else
close(fd);
} else {
bytes_read = read(fd,buf,sizeof(buf))
變數A++;
if(bytes_read > 0) { ... }
else {
alarm(0);
close(fd);
}
}
}
運行時,總會隨機當掉,然後就系統重開,網路上查詢,看起來是 signal 會搶資源
造成死鎖產生,但還是不確定,沒有統一說法,有沒有達人,為在下指點一下呢?
感謝回復,我寫完整點補上我缺的 close
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.115.110.197
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1489206628.A.11C.html
→
03/12 00:36, , 1F
03/12 00:36, 1F
※ 編輯: gn00618777 (61.220.69.181), 03/14/2017 13:36:01
→
03/14 13:38, , 2F
03/14 13:38, 2F
※ 編輯: gn00618777 (61.220.69.181), 03/14/2017 17:11:56
→
03/14 17:13, , 3F
03/14 17:13, 3F
※ 編輯: gn00618777 (61.220.69.181), 03/14/2017 19:50:21
→
03/15 10:09, , 4F
03/15 10:09, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
16
27