From: Erik Faye-Lund Date: Wed, 28 May 2014 08:48:35 GMT Subject: Re: [PATCH 1/5] progress.c: replace signal() with sigaction() Message-ID: In-Reply-To: <87sinuiad2.fsf@fencepost.gnu.org> On Wed, May 28, 2014 at 10:19 AM, David Kastrup wrote: > Chris Packham writes: > >> On 28/05/14 18:14, Jeremiah Mahler wrote: >>> From signal(2) >>> >>> The behavior of signal() varies across UNIX versions, and has also var‐ >>> ied historically across different versions of Linux. Avoid its use: >>> use sigaction(2) instead. See Portability below. >> >> Minor nit. The last sentence applies to the man page you're quoting and >> doesn't really make sense when viewed in the context of this commit >> message. Same applies to other patches in this series. >> >>> >>> Replaced signal() with sigaction() in progress.c >>> >>> Signed-off-by: Jeremiah Mahler >>> --- >>> progress.c | 6 +++++- >>> 1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/progress.c b/progress.c >>> index 261314e..24df263 100644 >>> --- a/progress.c >>> +++ b/progress.c >>> @@ -66,8 +66,12 @@ static void set_progress_signal(void) >>> static void clear_progress_signal(void) >>> { >>> struct itimerval v = {{0,},}; >>> + struct sigaction sa; >>> + >>> + memset(&sa, 0, sizeof(sa)); >>> + sa.sa_handler = SIG_IGN; >> >> A C99 initialiser here would save the call to memset. Unfortunately >> Documentation/CodingGuidelines is fairly clear on not using C99 >> initialisers, given the fact we're now at git 2.0 maybe it's time to >> revisit this policy? > > If I look at the initialization of v in the context immediately above > the new code, it would appear that somebody already revisited this > policy. Huh, the initialization of v doesn't use C99-features...?