Re: [PATCH v10 04/14] run-command: add clean_on_exit_handler
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Oct 16, 2016, 08:03 UTC
- Message-ID
- <alpine.DEB.2.20.1610161003040.197091@virtualbox>
- In-Reply-To
- <9C686FFB-CB07-445E-B812-97781CAB113D@gmail.com>
Hi Lars,
On Sat, 15 Oct 2016, Lars Schneider wrote:
Show 44 quoted lines
>
> > On 11 Oct 2016, at 05:12, Johannes Schindelin <johannes.schindelin@gmx.de> wrote:
> >
> > Hi Lars,
> >
> > On Sat, 8 Oct 2016, larsxschneider@gmail.com wrote:
> >
> >> @@ -31,6 +32,15 @@ static void cleanup_children(int sig, int in_signal)
> >> while (children_to_clean) {
> >> struct child_to_clean *p = children_to_clean;
> >> children_to_clean = p->next;
> >> +
> >> + if (p->process && !in_signal) {
> >> + struct child_process *process = p->process;
> >> + if (process->clean_on_exit_handler) {
> >> + trace_printf("trace: run_command: running exit handler for pid %d", p->pid);
> >
> > On Windows, pid_t translates to long long int, resulting in this build
> > error:
> >
> > -- snip --
> > In file included from cache.h:10:0,
> > from run-command.c:1:
> > run-command.c: In function 'cleanup_children':
> > run-command.c:39:18: error: format '%d' expects argument of type 'int', but argument 5 has type 'pid_t {aka long long int}' [-Werror=format=]
> > trace_printf("trace: run_command: running exit handler for pid %d", p->pid);
> > ^
> > trace.h:81:53: note: in definition of macro 'trace_printf'
> > trace_printf_key_fl(TRACE_CONTEXT, __LINE__, NULL, __VA_ARGS__)
> > ^~~~~~~~~~~
> > cc1.exe: all warnings being treated as errors
> > make: *** [Makefile:1987: run-command.o] Error 1
> > -- snap --
> >
> > Maybe use PRIuMAX as we do elsewhere (see output of `git grep
> > printf.*pid`):
> >
> > trace_printf("trace: run_command: running exit handler for pid %"
> > PRIuMAX, (uintmax_t)p->pid);
>
> Thanks for hint! I'll change it!
>
> However, I am building on Win 8.1 with your latest SDK and I cannot
> reproduce the error. Any idea why that might be the case?Are you building with DEVELOPER=1?
Ciao, Dscho