long time ago, I knew that certain system call will returned EINTR during block. But I did not know why, so forget to ask why. Until recently, I start to think about this problem, the answer turns out to be in a long time ago favorable book APUE.
"A characteristic of earlier UNIX systems is that if a process
caught a signal while the process was blocked in a "slow" system call, the
system call was interrupted. The system call returned an error and
errno was set to EINTR. This was done under the assumption
that since a signal occurred and the process caught it, there is a good chance
that something has happened that should wake up the blocked system call.
" --Section 10.5. Richard Stevens.
No comments:
Post a Comment