找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3735|回复: 1

ACE_Connector::connect失败后,会不会释放SVC_Handler指针啊?

[复制链接]
发表于 2008-1-11 21:52:32 | 显示全部楼层 |阅读模式
  1. MyServiceHandler * handler= new MyServiceHandler;
  2.     Connector myconnector;
  3.     if(myconnector.connect(handler, addr) < 0)
  4.     {
  5.         //delete handler;   
  6.         return -1;
  7.     }
复制代码
上面的代码中,如果在connect失败后,对handler进行delete操作,purify会报FMR、FMW、FUM错误。但是如果注释掉就没有问题了,而且也没有内存泄漏。
现在的问题是:如果connect失败了,ACE是否已经帮我是否了handler指针的内存?如果是的话,为什么不顺便把handler置NULL呢?
 楼主| 发表于 2008-1-11 21:52:46 | 显示全部楼层
连接失败,会自动调用handler的handle_close(),自动删除处理器对象。不会有内存泄漏。
你多删除一次,反而错误了。
顺便置处理器指针为NULL,没必要,不合乎语义。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-11-23 12:52 , Processed in 0.032244 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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