threads / patch / 2774

patchRe: [PATCH] Clean up file descriptors when calling hooks.

Subject: Re: [PATCH] Clean up file descriptors when calling hooks.

## tl;dr

2 messages between Dec 8, 2005 and Dec 8, 2005. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

linux@horizon.com· Dec 8, 2005, 03:24 UTC · lore
> A quick question.  I understand "not connected to the pushing
> connection" is desirable, but is there a reason you chose to
> leave them open to /dev/null, not close()d?

Because then the first open() in the hook will assign those fds, confusing programs that try to use them for their traditional purposes. fd 2 (stderr) is of particular concern.

E.g. imagine if I ran gcc -c file.c, and it assigned file.c to fd 0, file.h to fd1, and file.o to fd 2. Then wants to print a warning message... right into the middle of the binary. (Oversimplified example, because gcc is actually several separate programs, but hopefully you get the idea.)

It's just safer to leave those fds open to a null device.
Junio C Hamano· Dec 8, 2005, 03:29 UTC · re: linux@horizon.com · lore
linux@horizon.com writes:
Show 7 quoted lines
> E.g. imagine if I ran gcc -c file.c, and it assigned file.c to fd 0,
> file.h to fd1, and file.o to fd 2.   Then wants to print a warning
> message... right into the middle of the binary.  (Oversimplified
> example, because gcc is actually several separate programs, but
> hopefully you get the idea.)
>
> It's just safer to leave those fds open to a null device.

Overdangerous example. Do people realize hooks run without any locking?

← back to recent threads