caibao000000 发表于 2008-12-30 10:25:24

schedule_timer()向反应器注册问题

schedule_timer()向反应器注册时,第四个参数不起作用。请高手帮忙分析
CTaskTimer继承自ACE_Event_Handler

CTaskTimer* timer;
ACE_NEW_NORETURN (timer,CTaskTimer);
timer->reactor(ACE_Reactor::instance());
timer->open(10);
ACE_Reactor::instance ()->run_reactor_event_loop ();

bool CTaskTimer::open(UINT a_nTimerInterval)
{
ACE::init();
if (a_nTimerInterval == 0)
{
return true;
}
else
{
ACE_Time_Value TimerInterval(a_nTimerInterval);//计时间隔
ACE_Time_Value TimerDelay(5);//延时5s开始计时
// 开始定时器循环
m_nTimeid = this->reactor()->schedule_timer(this, 0, TimerDelay, TimerInterval);
}
return true;
}

dwh0403 发表于 2009-1-5 10:29:58

回复 #1 caibao000000 的帖子

是不是没有写handle_timeout方法?

判断this->reactor()->schedule_timer的返回值,打印下,
然后书写handle_timeout函数,打印看看。
页: [1]
查看完整版本: schedule_timer()向反应器注册问题