Re: ERESTARTSYS question.

Jani Monoses (jani@virtualro.ic.ro)
Thu, 5 Apr 2001 19:13:08 +0300 (EEST)


On Thu, 5 Apr 2001, Bjorn Wesen wrote:

>
> ERESTARTSYS is a part of the api between the driver and the
> signal-handling code in the kernel. It does not reach user-space (provided
> of course that it's used appropriately in the drivers :)

As an example sound/via82cxxx_audio.c returns ERESTARTSYS from
via_dsp_open() .I suppose this _does_ reach userland right?

> When a driver needs to wait, and get awoken by a signal (as opposed to
> what it's really waiting for) the driver should in most cases abort the
> system call so the signal handler can be run (like, you push ctrl-c while
> running somethinig that's stuck in a wait for an interrupt). The kernel
> uses the ERESTARTSYS as a "magic" value saying it's ok to restart the
> system call automagically after the signal handling is done. The actual
> return-code is switched to EINTR if the system call could not be
> restarted.
>
> -Bjorn
>

Thanks, and by the way the comments in arch/cris regarding the issue are
useful too ;)

Jani.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/