dmitry Fri Aug 31 12:18:04 2007 UTC
Modified files:
/php-src/sapi/cgi cgi_main.c
Log:
Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline
options)
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/cgi_main.c?r1=1.330&r2=1.331&diff_format=u
Index: php-src/sapi/cgi/cgi_main.c
diff -u php-src/sapi/cgi/cgi_main.c:1.330 php-src/sapi/cgi/cgi_main.c:1.331
--- php-src/sapi/cgi/cgi_main.c:1.330 Wed Aug 8 23:55:42 2007
+++ php-src/sapi/cgi/cgi_main.c Fri Aug 31 12:18:04 2007
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cgi_main.c,v 1.330 2007/08/08 23:55:42 stas Exp $ */
+/* $Id: cgi_main.c,v 1.331 2007/08/31 12:18:04 dmitry Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -1410,9 +1410,9 @@
php_output_tearup();
SG(headers_sent) = 1;
php_cgi_usage(argv[0]);
- php_output_teardown();
- exit(1);
- break;
+ php_output_end_all(TSRMLS_C);
+ exit_status = 0;
+ goto out;
}
}
php_optind = orig_optind;
@@ -1438,8 +1438,9 @@
php_output_tearup();
SG(headers_sent) = 1;
php_printf("You cannot use both -n and
-c switch. Use -h for help.\n");
- php_output_teardown();
- exit(1);
+ php_output_end_all(TSRMLS_C);
+ exit_status = 1;
+ goto out;
}
while ((c = php_getopt(argc, argv, OPTIONS,
&php_optarg, &php_optind, 0)) != -1) {
@@ -1480,9 +1481,9 @@
SG(request_info).no_headers = 1;
}
php_print_info(0xFFFFFFFF TSRMLS_CC);
- php_output_teardown();
- exit(0);
- break;
+
php_request_shutdown((void *) 0);
+ exit_status = 0;
+ goto out;
case 'l': /* syntax check mode */
no_headers = 1;
@@ -1497,9 +1498,9 @@
php_printf("\n[Zend
Modules]\n");
print_extensions(TSRMLS_C);
php_printf("\n");
- php_output_teardown();
- exit(0);
- break;
+
php_output_end_all(TSRMLS_C);
+ exit_status = 0;
+ goto out;
#if 0 /* not yet operational, see also below ... */
case '': /* generate indented source
mode*/
@@ -1527,9 +1528,9 @@
#else
php_printf("PHP %s (%s)
(built: %s %s)\nCopyright (c) 1997-2007 The PHP Group\n%s", PHP_VERSION,
sapi_module.name, __DATE__, __TIME__, get_zend_version());
#endif
- php_output_teardown();
- exit(0);
- break;
+
php_request_shutdown((void *) 0);
+ exit_status = 0;
+ goto out;
case 'w':
behavior =
PHP_MODE_STRIP;
@@ -1802,6 +1803,7 @@
exit_status = 255;
} zend_end_try();
+out:
SG(server_context) = NULL;
php_module_shutdown(TSRMLS_C);
sapi_shutdown();-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
