From 99963281e098f446cc5f23d74a3c70e666f3f3de Mon Sep 17 00:00:00 2001 From: matyhtf Date: Tue, 12 May 2020 15:14:52 +0800 Subject: [PATCH] optimize --- swoole_coroutine.h | 2 +- swoole_runtime.cc | 33 ++++++++++++++++++--------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/swoole_coroutine.h b/swoole_coroutine.h index 52510ad1b50..e5a3f427b4e 100644 --- a/swoole_coroutine.h +++ b/swoole_coroutine.h @@ -45,7 +45,7 @@ enum sw_coro_hook_type SW_HOOK_CURL = 1u << 28, SW_HOOK_BLOCKING_FUNCTION = 1u << 30, - SW_HOOK_ALL = 0x7fffffff ^ SW_HOOK_CURL /* TODO: remove it */ + SW_HOOK_ALL = 0x7fffffff ^ SW_HOOK_CURL /* TODO: remove it [v4.6] */ }; struct php_coro_task diff --git a/swoole_runtime.cc b/swoole_runtime.cc index b2c69854e5f..d8f29b52b14 100644 --- a/swoole_runtime.cc +++ b/swoole_runtime.cc @@ -1176,9 +1176,12 @@ bool PHPCoroutine::enable_hook(int flags) { if (hook_flags & SW_HOOK_TLS) { - if (ori_factory.tls != nullptr) { + if (ori_factory.tls != nullptr) + { php_stream_xport_register("tls", ori_factory.tls); - } else { + } + else + { php_stream_xport_unregister("tls"); } } @@ -1271,8 +1274,8 @@ bool PHPCoroutine::enable_hook(int flags) if (hook_flags & SW_HOOK_BLOCKING_FUNCTION) { SW_UNHOOK_FUNC(gethostbyname); - unhook_func(ZEND_STRL("exec")); - unhook_func(ZEND_STRL("shell_exec")); + SW_UNHOOK_FUNC(exec); + SW_UNHOOK_FUNC(shell_exec); } } @@ -1296,16 +1299,16 @@ bool PHPCoroutine::enable_hook(int flags) { if (hook_flags & SW_HOOK_CURL) { - unhook_func(ZEND_STRL("curl_init")); - unhook_func(ZEND_STRL("curl_setopt")); - unhook_func(ZEND_STRL("curl_setopt_array")); - unhook_func(ZEND_STRL("curl_exec")); - unhook_func(ZEND_STRL("curl_getinfo")); - unhook_func(ZEND_STRL("curl_errno")); - unhook_func(ZEND_STRL("curl_error")); - unhook_func(ZEND_STRL("curl_reset")); - unhook_func(ZEND_STRL("curl_close")); - unhook_func(ZEND_STRL("curl_multi_getcontent")); + SW_UNHOOK_FUNC(curl_init); + SW_UNHOOK_FUNC(curl_setopt); + SW_UNHOOK_FUNC(curl_setopt_array); + SW_UNHOOK_FUNC(curl_exec); + SW_UNHOOK_FUNC(curl_getinfo); + SW_UNHOOK_FUNC(curl_errno); + SW_UNHOOK_FUNC(curl_error); + SW_UNHOOK_FUNC(curl_reset); + SW_UNHOOK_FUNC(curl_close); + SW_UNHOOK_FUNC(curl_multi_getcontent); } } @@ -1321,7 +1324,7 @@ bool PHPCoroutine::disable_hook() static PHP_METHOD(swoole_runtime, enableCoroutine) { zval *zflags = nullptr; - /*TODO: enable SW_HOOK_CURL by default after curl handler completed */ + /*TODO:[v4.6] enable SW_HOOK_CURL by default after curl handler completed */ zend_long flags = SW_HOOK_ALL; ZEND_PARSE_PARAMETERS_START(0, 2)