nnrpd given the same PID as innfeed
Richard Kettlewell
rjk at greenend.org.uk
Wed Jun 17 22:06:07 UTC 2015
On 2015-06-17 21:26, Julien ÉLIE wrote:
> Hi Richard,
>
>> Patch attached. I've lightly tested it, including inspecting strace
>> output while manually poking the system to check it's not gone
>> completely off the rails.
>
> Thanks for your patch. I have been running it for a few hours without
> any problem. I hope the race condition between signals now belongs to
> the past.
>
> + for(n = 0; n < signal_max; ++n)
> + if(sigismember(&signals_masked, n)
> + && !sigismember(&signals_unmasked, n))
> + signal(n, SIG_DFL);
> + /* Now it's OK to unblock signals we ha
>
> Couldn't we use sigaction() with act.sa_handler=SIG_DLF, act.sa_mask
> empty (no need to have signals_masked here if I understand well) and
> act.sa_flags=SA_RESTART if available?
> Elsewhere in the code, we do not use signal() when sigaction() is usable.
We could, but I think it will amount to the same thing, since the
signals we catch all default to terminate or ignore, making sa_mask and
sa_flags irrelevant.
ttfn/rjk
More information about the inn-workers
mailing list