One likely reason for fdopen() to fail is the lack of memory for allocating a FILE structure. When that happens, try freeing some memory and calling fdopen() again in the hope that it will work the second time. This change was suggested by Jonathan Nieder [1] In the first patch it is unsatisfying that try_to_free_routine() is called with a magic number (1000) rather than sizeof(FILE). But the C standard doesn't guarantee that FILE is a complete type, so I can't think of a better approach. Suggestions, anybody? Michael [1] http://article.gmane.org/gmane.comp.version-control.git/260848 Michael Haggerty (5): xfdopen(): if first attempt fails, free memory and try again fdopen_lock_file(): use fdopen_with_retry() copy_to_log(): use fdopen_with_retry() update_info_file(): use fdopen_with_retry() buffer_fdinit(): use fdopen_with_retry() daemon.c | 4 ++-- git-compat-util.h | 11 +++++++++++ lockfile.c | 2 +- server-info.c | 2 +- vcs-svn/line_buffer.c | 2 +- wrapper.c | 28 +++++++++++++++++++++++++--- 6 files changed, 41 insertions(+), 8 deletions(-) -- 2.1.4 -- 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