Re: [PATCH] Clean up file descriptors when calling hooks.
From: <hidden>
Date: 2016-06-15 22:42:14
From: <hidden>
Date: 2016-06-15 22:42:14
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.