Andreas Beck wrote:
> 
> > > There is nothing one can do about that. Basically it is a problem in the
> > > kernel, if the program stays in uninterruptible sleep for excessive amounts
> > > of time (say >10 minutes).
> > Well, IMHO the kernel is broken if a process is uninterruptible for
> > more than a few seconds...
> 
> Well, there are HW-issues that can make for such big delays, like rewinding
> tapes and such. O.K. - one could "early abort" such operations in the sense,
> that the call gets aborted, while the kernel keeps running the command
> and then blocks at the next call. But either way, you have to block at some
> time to make sure stuff behaves as expected.

Blocking without making the process _un_interruptible is no problem.
Uninterruptible sleep is only needed if for some reason the kernel
wouldn't be able to do proper cleanup if the process was terminated
or SIGSTOPed. This can be avoided in most cases by proper coding of
the driver.

//Marcus
-- 
-------------------------------+------------------------------------
        Marcus Sundberg        | http://www.stacken.kth.se/~mackan/
 Royal Institute of Technology |       Phone: +46 707 295404
       Stockholm, Sweden       |   E-Mail: [EMAIL PROTECTED]

Reply via email to