Re: 2.1.68 brokenness.

Richard Henderson (rth@dot.cygnus.com)
Mon, 1 Dec 1997 02:52:35 -0800


On Mon, Dec 01, 1997 at 03:06:10AM +0000, Linus Torvalds wrote:
> Some drivers, notably the ftape driver, have a slightly more complex
> setup where they actually want to change the blocked signals.

IMO, the ftape driver is completely broken wrt signals. All its
machinations seem poorly thought out. I can't figure why it is
messing with signals at all except to notice that it should abort
the read (or whatnot) with -ERESTARTSYS or whatever.

> siginitset(&current->blocked, _BLOCK_ALL);

Actually, for blocking all except some handfull, you'd use

siginitsetinv(&current->blocked, sigs_to_not_block);

as that blocks all of the rt signals as well. When picking
which function, just consider what happens to the high-numbered
signals with a zero-extended mask.

r~