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]

Reply via email to