diff --git a/http-backend.c b/http-backend.c index 8c7b7d09ea..af6a7567db 100644 --- a/http-backend.c +++ b/http-backend.c @@ -538,12 +538,17 @@ static void service_rpc(char *service_name) static NORETURN void die_webcgi(const char *err, va_list params) { - http_status(500, "Internal Server Error"); - hdr_nocache(); - end_headers(); + static int dead; - vreportf("fatal: ", err, params); - exit(0); + if (!dead) { + dead = 1; + http_status(500, "Internal Server Error"); + hdr_nocache(); + end_headers(); + + vreportf("fatal: ", err, params); + } + exit(0); /* we successfully reported a failure ;-) */ } static char* getdir(void)