From: Andrew Morton
Date: Mon Mar 29 2004 - 05:51:17 EST
Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:
> On Mon, Mar 29, 2004 at 02:25:56AM -0800, Andrew Morton wrote:
> > > and it is completely valid for ->close to be called while
> > > another thread is in ->open. In fact, it's desirable since ->open may
> > > be waiting for the DCD line from a modem to activate, while there may
> > > be a simultaneous O_NONBLOCK open/ioctl/close from stty.
> > ->open is not called under tty_sem. With this change, ->close is called
> > under tty_sem.
> > Are ->close implementations likely to block on hardware events?
> Historically they have blocked in a well defined manner - eg when
> dropping the DTR signal for a specified minimum time period.
> They can also block until the data awaiting transmission has been
> sent, which by default has a 30 second timeout, or may be configured
> to be "until sent". Of course, if CTS is deasserted, we will wait
> until the timeout.
I suspect such drivers have always had a barndoor-sized hole in them, if
someone tries to open the thing while ->close is sleeping.
I'll take another look at the darn thing tomorrrow.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/