KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 255|回复: 4

executeRawDatabaseCommand实现问题

[复制链接]

27

主题

74

帖子

310

积分

中级会员

Rank: 3Rank: 3

积分
310
发表于 2018-12-29 18:56:07 | 显示全部楼层 |阅读模式
本帖最后由 benjamin606 于 2018-12-29 18:59 编辑

想问下executeRawDatabaseCommand的callback参数在数据库命令返回前只是暂时存在callbackMgr里了,但是并没有对callback这个PyObject执行Py_INCREF,这样的话如果用lambda作为callback,数据库命令结果返回时callback不会已经被释放吗?但试了下lambda也没问题,求解答下是我没找到Py_INCREF还是说这里就不需要INCREF

回复

使用道具 举报

5

主题

5245

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-2 11:39:13 | 显示全部楼层
没有bug就说明引用计数都已经ok了。
QQ:3603661
3603661@qq.com
回复

使用道具 举报

27

主题

74

帖子

310

积分

中级会员

Rank: 3Rank: 3

积分
310
 楼主| 发表于 2019-1-2 12:22:39 | 显示全部楼层
柯标 发表于 2019-1-2 11:39
没有bug就说明引用计数都已经ok了。

嗯,找到了,SmartPointer的构造函数会加
回复

使用道具 举报

166

主题

602

帖子

1868

积分

金牌会员

Rank: 6Rank: 6

积分
1868
发表于 2019-1-17 15:53:38 | 显示全部楼层
lambda 有什么特殊的地方么,不也算是一个函数对象??
回复

使用道具 举报

27

主题

74

帖子

310

积分

中级会员

Rank: 3Rank: 3

积分
310
 楼主| 发表于 2019-1-29 17:33:51 | 显示全部楼层
kbengine_one 发表于 2019-1-17 15:53
lambda 有什么特殊的地方么,不也算是一个函数对象??

lambda出了函数体引用计数就变0了,要引擎内加一下引用计数,之前没找到引擎在哪里加的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2019-6-25 12:13 , Processed in 0.039943 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表