On Wed, Dec 30, 2009 at 5:52 AM, Ilari Liusvaara <ilari.liusvaara@xxxxxxxxxxx> wrote: > Previously run-command was unable to report errors happening in exec > call. Change it to pass errno from failed exec to errno value at > return. > > The errno value passing can be done by opening close-on-exec pipe and > piping the error code through in case of failure. In case of success, > close-on-exec closes the pipe on successful exec and parent process > gets end of file on read. I was testing pu and 'git diff' and 'git log' would hang forever. Bisecting pointed to v1 of this patch. But seeing that v2 was out, I tried v2 of the patch, but the issue remains. Tried on OSX and linux with the same results. Here's a gdb backtrace on OSX at the point where I interrupted it: (gdb) bt #0 0x9923dbfe in read$UNIX2003 () #1 0x000b399b in start_command (cmd=0x10b300) at run-command.c:110 #2 0x00099452 in setup_pager () at pager.c:94 #3 0x0002196b in cmd_diff (argc=1, argv=0xbffff42c, prefix=0x0) at builtin-diff.c:316 #4 0x00002a2a in run_builtin [inlined] () at git.c:257 #5 0x00002a2a in handle_internal_command (argc=1, argv=0xbffff42c) at git.c:401 #6 0x00002cab in main (argc=1, argv=0xbffff42c) at git.c:443 and on linux: (gdb) bt #0 0x0000003530a0d590 in __read_nocancel () from /lib64/libpthread.so.0 #1 0x0000000000494858 in start_command (cmd=0x71ed60) at run-command.c:93 #2 0x000000000047daf8 in setup_pager () at pager.c:94 #3 0x000000000041d83f in cmd_diff (argc=1, argv=0x7fff256f9fe0, prefix=0x0) at builtin-diff.c:316 #4 0x0000000000403ced in handle_internal_command (argc=1, argv=0x7fff256f9fe0) at git.c:257 #5 0x0000000000403f26 in main (argc=1, argv=0x7fff256f9fe0) at git.c:445 Thanks, Tarmigan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html