我正在處理一個任務,涉及編寫程序來處理數據(計算pi)使用叉(進程),信號和選擇。使用信號和sigpipe
我正在處理信號,我想我要做的就是使用SIGPIPE,所以如果程序捕獲它,它會嘗試再次寫入管道(如果一個進程試圖寫入管道沒有讀者,它會發送SIGPIPE)。
我在main()中使用fork()通過將每個進程發送給worker函數來爲每個進程分配相同的工作。
void worker(int id) {
.... (this piece of code is not relevant)
if(write(pfd[id][1], &c, sizeof(c)) == -1)
printf("Error occurred: %s\n",strerror(errno));
}
我如何能實現信號在該功能捕捉SIGPIPE,並把它寫入管道再次?
謝謝!
你應該回去接受你提出的問題的答案。人們不可能回答你的問題,因爲你不接受他們的答案。 –
哦對不起!我會去做。編輯:完成!我是新來這個網站,它是如何工作,但我現在得到它:) – andrepcg