G'day,
Can someone please explain to me why recalc_sigpending() fails
to clear the TIF_SIGPENDING flag if the pending signal is a
coredumping signal like SIGQUIT? Is this deliberate?
I ask because there's code in the NFS client like this:
---> got here because signal_pending() is set <----
spin_lock_irqsave(¤t->sighand->siglock, flags);
oldset = current->blocked;
sigfillset(¤t->blocked);
recalc_sigpending();
spin_unlock_irqrestore(¤t->sighand->siglock, flags);
---> assumes signal_pending() is cleared <----
Have these semantics changed, or has NFS always been broken?
Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.