about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--cache.c16
-rw-r--r--cgit.c4
2 files changed, 15 insertions, 5 deletions
diff --git a/cache.c b/cache.c
index a996109..aa97ae1 100644
--- a/cache.c
+++ b/cache.c
@@ -252,9 +252,14 @@ static int process_slot(struct cache_slot *slot)
 				}
 			}
 		}
-		print_slot(slot);
+		if ((err = print_slot(slot)) != 0) {
+			cache_log("[cgit] error printing cache %s: %s (%d)\n",
+				  slot->cache_name,
+				  strerror(err),
+				  err);
+		}
 		close_slot(slot);
-		return 0;
+		return err;
 	}
 
 	/* If the cache slot does not exist (or its key doesn't match the
@@ -289,7 +294,12 @@ static int process_slot(struct cache_slot *slot)
 	// the lock file.
 	slot->cache_fd = slot->lock_fd;
 	unlock_slot(slot, 1);
-	err = print_slot(slot);
+	if ((err = print_slot(slot)) != 0) {
+		cache_log("[cgit] error printing cache %s: %s (%d)\n",
+			  slot->cache_name,
+			  strerror(err),
+			  err);
+	}
 	close_slot(slot);
 	return err;
 }
diff --git a/cgit.c b/cgit.c
index 2036ceb..ac882c3 100644
--- a/cgit.c
+++ b/cgit.c
@@ -380,7 +380,7 @@ int main(int argc, const char **argv)
 	err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,
 			    ctx.qry.raw, ttl, process_request, &ctx);
 	if (err)
-		cache_log("[cgit] error %d - %s\n",
-			  err, strerror(err));
+		cgit_print_error(fmt("Error processing page: %s (%d)",
+				     strerror(err), err));
 	return err;
 }