summaryrefslogtreecommitdiff
path: root/sapi/milter/php_milter.c
diff options
context:
space:
mode:
authorMichael Wallner <mike@php.net>2014-07-30 20:12:13 +0200
committerMichael Wallner <mike@php.net>2014-07-30 20:12:13 +0200
commit12b2127b72543710590887d8bcf26be9e02bcc71 (patch)
treec7000295938811b682b77a34f570f9b902bf833a /sapi/milter/php_milter.c
parent8b9719d8b90c361fe56c3b6285676bc74fdf90c3 (diff)
downloadphp-git-12b2127b72543710590887d8bcf26be9e02bcc71.tar.gz
Fixed bug #67715 (php-milter does not build and crashes randomly).
Diffstat (limited to 'sapi/milter/php_milter.c')
-rw-r--r--sapi/milter/php_milter.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sapi/milter/php_milter.c b/sapi/milter/php_milter.c
index 432fd806c2..4a11707239 100644
--- a/sapi/milter/php_milter.c
+++ b/sapi/milter/php_milter.c
@@ -525,6 +525,10 @@ static sfsistat mlfi_close(SMFICTX *ctx)
int status;
TSRMLS_FETCH();
+ if (!SG(sapi_started) && SUCCESS != php_request_startup(TSRMLS_C)) {
+ return ret;
+ }
+
/* call userland */
INIT_ZVAL(function_name);
ZVAL_STRING(&function_name, "milter_close", 0);
@@ -550,7 +554,7 @@ static sfsistat mlfi_close(SMFICTX *ctx)
/* {{{ Milter entry struct
*/
-struct smfiDesc smfilter = {
+static struct smfiDesc smfilter = {
"php-milter", /* filter name */
SMFI_VERSION, /* version code -- leave untouched */
0, /* flags */
@@ -1015,6 +1019,7 @@ int main(int argc, char *argv[])
tsrm_startup(1, 1, 0, NULL);
+ tsrm_ls = ts_resource(0);
sapi_startup(&milter_sapi_module);
while ((c=ap_php_getopt(argc, argv, OPTSTRING))!=-1) {
@@ -1032,7 +1037,6 @@ int main(int argc, char *argv[])
milter_sapi_module.executable_location = argv[0];
- tsrm_ls = ts_resource(0);
sapi_module.startup(&milter_sapi_module);