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