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