if(select(maxfd, &rset, NULL, NULL, NULL) < 0) { if (errno == EINTR) continue; else { perror ("select"); exit(1); } } if (FD_ISSET (pipe_fd[0], &rset)) { bytes = read (fd, &buffer, BUF_SIZE); } //我想問這個read會不會被信號中斷,如果有,什么情況有,什么情況下又需要檢查呢? 但是我看沒有經(jīng)過select調(diào)用的文件描述符read調(diào)用幾乎不檢查EINTR的。 關(guān)鍵是信號中斷問題?我在其他軟件代碼里很少見到判斷EINTR的。 請高手詳解。謝謝先。 |
歡迎光臨 Chinaunix (http://www.72891.cn/) | Powered by Discuz! X3.2 |