peakzhang 发表于 2008-7-13 23:12:24

ACE_Svc_Handler与ACE_Task的问题

目前我采用的做法:
class CInnerAcceptor : public ACE_Svc_Handler<ACE_SOCK_STREAM,
ACE_MT_SYNCH>
{
      hand_input ()
      {
            MY_TASK::instance ()->putq (mb);
      }
};


后来我看到ACE_Svc_Handler也继承了ACE_Task.那就是说可以将hand_input的数据put到自身的task中去..
但如果那样的话就遇到问题了:
typedef ACE_Acceptor<CInnerAcceptor, ACE_SOCK_ACCEPTOR> InnerAcceptor;
首先:
我是不是可以这样理解,,当有连接时就会new 一个CInnerAcceptor, 当handle_input 返回-1时,就会将刚才new 出
的对象delete掉? 是不是这样..
那好,如果是这样的话.ACE_Svc_Handler不是也继承了ACE_Task吗.那delete的时候会不会也把svc线程中中止掉?

peakzhang 发表于 2008-7-13 23:12:31

当handle_input 返回-1时,就会将刚才new 出
的对象delete掉?
doesn't have to, unless you have ref_count
如果是这样的话.ACE_Svc_Handler不是也继承了ACE_Task吗.那delete的时候会不会也把svc线程中中止掉?
No.
页: [1]
查看完整版本: ACE_Svc_Handler与ACE_Task的问题