gpt4 book ai didi

c++ - ace register_handler 失败

转载 作者:太空宇宙 更新时间:2023-11-04 14:18:28 26 4
gpt4 key购买 nike

我在多线程系统中使用 ace register_handler 函数。每隔一段时间,register_handler 就会失败。我打印了文件描述符(通过调用 get_handle 函数),我注意到当文件描述符超过 1000 时,get_handle 失败。有谁知道为什么吗?

最佳答案

我不是 ACE 专家。但似乎 ACE_Event_Handler 类中的默认实现每次都会返回错误。从 ACE 源代码中提取:

ACE_HANDLE
ACE_Event_Handler::get_handle (void) const
{
ACE_TRACE ("ACE_Event_Handler::get_handle");
return ACE_INVALID_HANDLE;
}

派生类需要自己实现。因此,如果您的类派生自 ACE_Event_Handler 类,您必须覆盖 get_handle() 方法以获得有意义的结果:

ACE_HANDLE DerivedClass::get_handle(void) const
{
return peer().get_handle();
}

我会推荐给你

  1. 确认您在派生类中提供了该方法。
  2. 如果是这样,请仔细检查其实现情况。我们的问题就在这里。 (您能否向我们提供有关实现的更多详细信息?)
  3. 如果您没有提供任何覆盖,那么您知道您必须实现它。

关于c++ - ace register_handler 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9360998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com