Here's some text from Rubini's linux device driver book (page 112). He's
talking about the portion of the system call implemented by a device driver
in the text below:
"The [... returning of -ERESTARTSYS ...] ensures the proper and expected
reaction to signals, which is to let the kernel take care of restarting
the system call or returning -EINTR (the kernel handles -ERESTARTSYS
internally, and what reaches user space is -EINTR instead). We don't
want to do this for blocked signals, though, because we want to ignore
them. That is why we check current->blocked and screen out those
signals."
Abhijit Lahiri wrote:
>
> Hi all,
>
> A program run under linux using raw socket gave this error as return from
> recvfrom().
>
> recvfrom(3, 0x804b9d0, 4096, 0, 0xbffffd60, 0xbffffd70) = ? ERESTARTSYS
> (To be restarted)
>
> I did not find the err. string defined in the man page of recvfrom.
> Kernel sources says that the error is generated when
>
>
> if (current->signal & ~current->blocked) is TRUE.
>
> e.g. /usr/src/linux/net/ipv4/tcp.c
>
> I am unable to find out the meaning and what exactly caused the error.
> Please suggest some sources of info.
>
> Best Wishes
> avi.
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]