首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
swoole定时器中的sw_zend_call_function_ex的疑问
```php static sw_inline int sw_zend_call_function_ex(zval *function_name, zend_fcall_info_cache *fci_cache, uint32_t param_count, zval *params, zval *retval) { if (!fci_cache || !fci_cache->function_handler) { if (!function_name) { php_swoole_fatal_error(E_WARNING, "Bad function"); return FAILURE; } ZVAL_COPY_VALUE(&fci.function_name, function_name); } else { ZVAL_UNDEF(&fci.function_name); } } ``` 你好,这里是swoole执行回调函数所使用的方法sw_zend_call_function_ex。 我很好奇为什么这里要做 if (!fci_cache || !fci_cache->function_handler) 这个判断,请问什么情况下fci_cache和fci_cache->function_handler会不存在。 还有ZVAL_UNDEF(&fci.function_name);这里为什么要设置为IS_UNDEF。
发布于5年前 · 1 次浏览 · 来自
提问
MARiA
```php static sw_inline int sw_zend_call_function_ex(zval *function_name, zend_fcall_info_cache *fci_cache, uint32_t param_count, zval *params, zval *retval) { if (!fci_cache || !fci_cache->function_handler) { if (!function_name) { php_swoole_fatal_error(E_WARNING, "Bad function"); return FAILURE; } ZVAL_COPY_VALUE(&fci.function_name, function_name); } else { ZVAL_UNDEF(&fci.function_name); } } ``` 你好,这里是swoole执行回调函数所使用的方法sw_zend_call_function_ex。 我很好奇为什么这里要做 if (!fci_cache || !fci_cache->function_handler) 这个判断,请问什么情况下fci_cache和fci_cache->function_handler会不存在。 还有ZVAL_UNDEF(&fci.function_name);这里为什么要设置为IS_UNDEF。
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
还没有评论!