Merge branch 'sp/maint-http-backend-die-triggers-die-recursively' into maint

* sp/maint-http-backend-die-triggers-die-recursively:
  http-backend: Don't infinite loop during die()
This commit is contained in:
Junio C Hamano
2010-04-09 22:38:16 -07:00

View File

@ -538,15 +538,19 @@ static void service_rpc(char *service_name)
static NORETURN void die_webcgi(const char *err, va_list params) static NORETURN void die_webcgi(const char *err, va_list params)
{ {
char buffer[1000]; static int dead;
http_status(500, "Internal Server Error"); if (!dead) {
hdr_nocache(); char buffer[1000];
end_headers(); dead = 1;
vsnprintf(buffer, sizeof(buffer), err, params); vsnprintf(buffer, sizeof(buffer), err, params);
fprintf(stderr, "fatal: %s\n", buffer); fprintf(stderr, "fatal: %s\n", buffer);
exit(0); http_status(500, "Internal Server Error");
hdr_nocache();
end_headers();
}
exit(0); /* we successfully reported a failure ;-) */
} }
static char* getdir(void) static char* getdir(void)