With FreeBSD 8.0 it seems like you can't block pending but undelivered signals
Jeremy Allison
jra at samba.org
Tue Jan 8 15:50:01 MST 2013
On Tue, Jan 08, 2013 at 11:15:39AM -0800, Richard Sharpe wrote:
>
> OK, it seems that it is not so bad. Based on a response I got from the
> FreeBSD Hackers mailing list, and some digging, I think the answer is:
>
> sigaddset(&((ucontext_t *)uctx)->uc_sigmask, sig);
>
> I will try this soon and get back to you.
>
> >From here: http://stackoverflow.com/questions/5531006/returning-from-a-signal-handler-and-leaving-signal-masked
Ok, the correct fix here (and one that will work on Linux too)
is to ensure we never issue more aio requests than we have
real-time-signal buckets to receive the responses for them.
i.e. the "100" value inside smbd/aio.c is the real problem
here, not blocking the rt-signal inside the handler.
Match those sizes and you should not see this error
occuring.
Jeremy.
More information about the samba-technical
mailing list