Home
Document
Q&A
Video
Donate
Source Code
Code-Galaxy 云原生平台
Business
Swoole Tracker
Swoole Compiler
Login
Register
全部
提问
分享
讨论
建议
公告
开发框架
发表新帖
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。
发布于1年前 · 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
分享
收藏
提问
分享
讨论
建议
公告
开发框架
评论
还没有评论!
微信公众号
热门内容
- swoole针对400的请求--TRACE Port_onRead_http() (ERRNO 7102): Bad Request: unknown protocol from session#193 on 0.0.0.0:9505
- 基于Swoole+PHP的超高性能短信网关(CMPP、SMPP)模拟器
- http服务中,使用write分段输出文件。设置header总文件长度无用
- Call to undefined function Swoole\Coroutine\run() 是怎么回事啊?
- Swoole Loader扩展 如何下载,https://business.swoole.com/trial/download/ 404
- 请教当使用request主动推送的时候,产生新的连接,及会马上关闭连接问题
- 为什么连接池只创建一个连接
- timer定时器,启动一下,突然执行了1万多次,这是怎么回事呢?
- 在swoole 中, 使用地址引用自身,造成内存增加
- windows 配置wss链接,链接不成功
作者其它话题
- swoole 内核 cpp单元测试
- swow Buffer模块将char *转为zend_string
- 请问swoole的table强制解锁中,把lock = 1是正确的吗
- swoole_server.cc的php_swoole_server_worker_get_packet函数
- crontab + coroutine + channel内存回收不了
暂无回复的问答
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 请问那个一键协程化的代码是放外面还是set里面
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。