diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2014-10-01 13:14:48 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-10-01 14:20:22 -0700 |
commit | f70f0565b3a905ba90af3446475afec2e8aa0d2a (patch) | |
tree | 17607ad0e384cb66549aaf5461e757f588026fbd | |
parent | fdopen_lock_file(): access a lockfile using stdio (diff) | |
download | tgif-f70f0565b3a905ba90af3446475afec2e8aa0d2a.tar.xz |
dump_marks(): reimplement using fdopen_lock_file()
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | fast-import.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/fast-import.c b/fast-import.c index deadc33f94..fee7906e51 100644 --- a/fast-import.c +++ b/fast-import.c @@ -1794,20 +1794,18 @@ static void dump_marks_helper(FILE *f, static void dump_marks(void) { static struct lock_file mark_lock; - int mark_fd; FILE *f; if (!export_marks_file) return; - mark_fd = hold_lock_file_for_update(&mark_lock, export_marks_file, 0); - if (mark_fd < 0) { + if (hold_lock_file_for_update(&mark_lock, export_marks_file, 0) < 0) { failure |= error("Unable to write marks file %s: %s", export_marks_file, strerror(errno)); return; } - f = fdopen(mark_fd, "w"); + f = fdopen_lock_file(&mark_lock, "w"); if (!f) { int saved_errno = errno; rollback_lock_file(&mark_lock); @@ -1816,22 +1814,7 @@ static void dump_marks(void) return; } - /* - * Since the lock file was fdopen()'ed, it should not be close()'ed. - * Assign -1 to the lock file descriptor so that commit_lock_file() - * won't try to close() it. - */ - mark_lock.fd = -1; - dump_marks_helper(f, 0, marks); - if (ferror(f) || fclose(f)) { - int saved_errno = errno; - rollback_lock_file(&mark_lock); - failure |= error("Unable to write marks file %s: %s", - export_marks_file, strerror(saved_errno)); - return; - } - if (commit_lock_file(&mark_lock)) { failure |= error("Unable to commit marks file %s: %s", export_marks_file, strerror(errno)); |