On Sat, Jan 28, 2023 at 04:59:01PM -0500, selva.n...@gmail.com wrote: > From: Selva Nair <selva.n...@gmail.com> > > - "if (sig == X) signal_reset(sig)" now becomes > "signal_reset(sig, X)" so that the check and assignment > can be done in one place where signals are masked. > This is required to avoid change of signal state between > check and reset operations. > > - Avoid resetting the signal except when absolutely necessary > (resetting has the potential of losing signals) > > - In 'pre_init_signal_catch()', when certain low priority signals > are set to SIG_IGN, clear any pending signals of the same > type. Also, reset signal at the end of the SIGUSR1 and > SIGHUP loops where their values are checked instead of later. This > avoids the need for 'signal_reset()' after SIGHUP or in 'init_instance()' > which could cause a signal like SIGTERM to be lost. > [...] > diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c > index cba58276..ad0aa8a2 100644 > --- a/src/openvpn/openvpn.c > +++ b/src/openvpn/openvpn.c > @@ -194,7 +194,6 @@ openvpn_main(int argc, char *argv[]) > context_clear_all_except_first_time(&c); > > /* static signal info object */ > - CLEAR(siginfo_static); > c.sig = &siginfo_static;
Is that actually save? Doesn't that mean that siginfo_static might be used uninitialized? Regards, -- Frank Lichtenheld _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel