找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 6434|回复: 3

ACE_WIN32_Proactor与ACE_Proactor清理时问题.

[复制链接]
发表于 2012-6-21 14:40:17 | 显示全部楼层 |阅读模式
    ACE_WIN32_Proactor* pWin32Proactor = new ACE_WIN32_Proactor(m_nThreadCount);
    if(NULL == pWin32Proactor)
    {
        m_u4ProactorID = PIG_PROACTOR_CLIENTDEFINE;
        m_nThreadCount = 1;
        return false;
    }
    m_pProactor = new ACE_Proactor(pWin32Proactor, 1);
    if(NULL == m_pProactor)
    {
        return false;
    }
大家看下这段代码,在删除m_pProactor框架时,ACE_WIN32_Proactor* pWin32Proactor框架会不会删除?
还是需要用户自己进行清理.
我的理解是pWin32Proactor装入到pProactor 中,删除由pProactor 管理了.不知道这样的想法是否是对的?
发表于 2012-6-21 20:54:12 | 显示全部楼层
看一下ACE_Proactor的析构处理。我记不清了。
发表于 2012-6-29 06:45:33 | 显示全部楼层
他有个参数标明是由他删除还是你自己处理。
ACE_Proactor (ACE_Proactor_Impl *implementation=0, int delete_implementation=0, TIMER_QUEUE *tq=0)
就是你写的代码里的:
m_pProactor = new ACE_Proactor(pWin32Proactor, 1);---->这里的1标明的。

       

Constructor. If <implementation> is 0, the correct implementation object will be created. <delete_implementation> flag determines whether the implementation object should be deleted by the Proactor or not. If <tq> is 0, a new TIMER_QUEUE is created.
 楼主| 发表于 2012-6-29 12:42:34 | 显示全部楼层
sevencat 发表于 2012-6-29 06:45
他有个参数标明是由他删除还是你自己处理。
ACE_Proactor (ACE_Proactor_Impl *implementation=0, int dele ...

嗯,这下明白了.
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-4 14:27 , Processed in 0.013846 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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