我們用C語言編寫的一對夫婦的各種UNIX平臺(這個問題是在SunOS 5.10發生的)一個小型的守護進程應用程序,基本上只是打開了一個串行端口,然後偵聽信息通過進來說港口。申請人在收到神祕SIGINTs
在這種特定情況下,後臺程序似乎讀取單個傳輸(如數據的文件的價值)通過串行端口發送過來,然後將其接收信號情報。每次都發生這種情況。其他客戶在沒有收到SIGINT的情況下非常類似地使用此設置。很明顯,用戶不是按Ctrl-C。我們有一個相對簡單的信號處理程序,所以我們肯定知道這是發生了什麼。
別的什麼可能會導致這?在這裏搜索並查看這些問題,我找不到可能導致SIGINT的其他事情的很多解釋。我還查看了代碼,發現沒有調用raise(),只有一個調用kill(pid,0),它不會發送SIGINT。
任何想法或見解肯定會理解的。
調試不顯示任何提示?什麼告訴你gdb? – 2009-07-06 19:06:50
現場沒有調試過,因爲這不是一件小事。 – Morinar 2009-07-06 19:19:19