dougm 01/05/13 20:34:34
Modified: src/modules/perl mod_perl.c
Log:
modperl_response_handler_cgi(): flush output buffer after interpreter is putback
Revision Changes Path
1.58 +9 -4 modperl-2.0/src/modules/perl/mod_perl.c
Index: mod_perl.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- mod_perl.c 2001/05/14 03:30:39 1.57
+++ mod_perl.c 2001/05/14 03:34:34 1.58
@@ -362,7 +362,7 @@
modperl_wbucket_flush(&rcfg->wbucket);
}
-static int modperl_response_handler_run(request_rec *r)
+static int modperl_response_handler_run(request_rec *r, int finish)
{
int retval;
@@ -374,7 +374,9 @@
r->handler = r->content_type; /* let http_core or whatever try */
}
- modperl_response_finish(r);
+ if (finish) {
+ modperl_response_finish(r);
+ }
return retval;
}
@@ -385,7 +387,7 @@
return DECLINED;
}
- return modperl_response_handler_run(r);
+ return modperl_response_handler_run(r, TRUE);
}
int modperl_response_handler_cgi(request_rec *r)
@@ -419,7 +421,7 @@
h_stdin = modperl_io_tie_stdin(aTHX_ r);
modperl_env_request_tie(aTHX_ r);
- retval = modperl_response_handler_run(r);
+ retval = modperl_response_handler_run(r, FALSE);
modperl_io_handle_untie(aTHX_ h_stdout);
modperl_io_handle_untie(aTHX_ h_stdin);
@@ -433,6 +435,9 @@
rcfg->interp = NULL;
}
#endif
+
+ /* flush output buffer after interpreter is putback */
+ modperl_response_finish(r);
return retval;
}