about summary refs log tree commit
path: root/cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'cache.c')
-rw-r--r--cache.c6
1 files changed, 6 insertions, 0 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);