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(¤t->blocked, _BLOCK_ALL);
Actually, for blocking all except some handfull, you'd use
siginitsetinv(¤t->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~