about summary refs log tree commit
diff options
context:
space:
mode:
-rw-r--r--cache.c6
-rw-r--r--ui-patch.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/cache.c b/cache.c
index 6736a01..2ccdc4e 100644
--- a/cache.c
+++ b/cache.c
@@ -224,6 +224,12 @@ static int fill_slot(struct cache_slot *slot)
         /* Generate cache content */
         slot->fn();
 
+        /* Make sure any buffered data is flushed to the file */
+        if (fflush(stdout)) {
+                close(tmp);
+                return errno;
+        }
+
         /* update stat info */
         if (fstat(slot->lock_fd, &slot->cache_st)) {
                 close(tmp);
diff --git a/ui-patch.c b/ui-patch.c
index 69aa4a8..8007a11 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -92,6 +92,4 @@ void cgit_print_patch(const char *new_rev, const char *old_rev,
                 log_tree_commit(&rev, commit);
                 printf("-- \ncgit %s\n\n", cgit_version);
         }
-
-        fflush(stdout);
 }