Messages in this thread | | | From | Roland McGrath <> | Subject | Re: [PATCH 1/3] signals: sigqueue_free: don't free sigqueue if it is queued | Date | Wed, 21 May 2008 12:33:48 -0700 (PDT) |
| |
> I thought we didn't even know which queue it was pending on if it was > already on a thread-local queue. So we could remove the entry, but I > always objected to the games with the pending bit.
Removing the entry without fixing the pending set is the bug we're trying to fix. That's what it does now, and it's wrong.
Oleg had a patch that marked the sigqueue entry with whether it was on the shared queue or not. The caller in timer_delete knows which thread it is when it's on a thread queue, and whether it's on the shared queue. So it could be the caller's responsibility to know, i.e. its sigqueue_free call matches its send_sigqueue call.
Thanks, Roland
| |