C++ boost::system::error\u代码生成错误158未知

C++ boost::system::error\u代码生成错误158未知,c++,linux,boost,openwrt,C++,Linux,Boost,Openwrt,我正在使用boost::system::error\u code将错误代码捕获到日志文件中,它正在记录一个未知错误。我在网上没有找到任何关于这个错误的参考资料 bool read_response_payload(size_t payload_len) { boost::system::error_code ec; stream_connector<protocol_type, INTERFACE_BUFFER_LEN, INTERFACE_TI

我正在使用
boost::system::error\u code
将错误代码捕获到日志文件中,它正在记录一个
未知错误
。我在网上没有找到任何关于这个错误的参考资料

bool read_response_payload(size_t payload_len)
{
     boost::system::error_code ec;
     stream_connector<protocol_type, INTERFACE_BUFFER_LEN,
            INTERFACE_TIMEOUT_SECS>::read_all(payload_len, ec);
     if (ec) {
            LOGGER_LOG_WARN("Interface read error: %s", ec.message().c_str());
            stream_connector<protocol_type, INTERFACE_BUFFER_LEN,
                INTERFACE_TIMEOUT_SECS>::disconnect();
            return false;
     }
     else {
            return true;
     }
}
该系统是:

root@OpenWrt:~# uname -a
Linux OpenWrt 2.6.30.9 #4 Thu Jul 3 16:08:13 BRT 2014 rlx GNU/Linux

如评论中所述,这是OpenWRT的
中描述的错误

#define ECONNREFUSED    146 /* Connection refused */
#define EHOSTDOWN   147 /* Host is down */
#define EHOSTUNREACH    148 /* No route to host */
#define EWOULDBLOCK EAGAIN  /* Operation would block */
#define EALREADY    149 /* Operation already in progress */
#define EINPROGRESS 150 /* Operation now in progress */
#define ESTALE      151 /* Stale NFS file handle */
#define ECANCELED   158 /* AIO operation canceled */

这是一个已取消的异步IO操作。

我猜这是OpenWrt特定的错误。试着在OpenWrt文档或头文件中找到它。OpenWrt似乎使用了不同于“普通”的错误编号。这将是很好的提交一个补丁Asio。。。
#define ECONNREFUSED    146 /* Connection refused */
#define EHOSTDOWN   147 /* Host is down */
#define EHOSTUNREACH    148 /* No route to host */
#define EWOULDBLOCK EAGAIN  /* Operation would block */
#define EALREADY    149 /* Operation already in progress */
#define EINPROGRESS 150 /* Operation now in progress */
#define ESTALE      151 /* Stale NFS file handle */
#define ECANCELED   158 /* AIO operation canceled */