diff options
Diffstat (limited to 'fast-import.c')
-rw-r--r-- | fast-import.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/fast-import.c b/fast-import.c index 82e9161339..3609c24288 100644 --- a/fast-import.c +++ b/fast-import.c @@ -1546,10 +1546,18 @@ static void dump_marks(void) } dump_marks_helper(f, 0, marks); - fclose(f); - if (commit_lock_file(&mark_lock)) + if (ferror(f) || fclose(f)) failure |= error("Unable to write marks file %s: %s", mark_file, strerror(errno)); + /* + * Since the lock file was fdopen()'ed and then fclose()'ed above, + * assign -1 to the lock file descriptor so that commit_lock_file() + * won't try to close() it. + */ + mark_lock.fd = -1; + if (commit_lock_file(&mark_lock)) + failure |= error("Unable to write commit file %s: %s", + mark_file, strerror(errno)); } static int read_next_command(void) |