[急]linux下使用异步操作出现参数错误,谁能解决阿
情况描述:1 linux操作系统
2 安装了posix-aio
3 使用了Terabit的case2方式替换了ace的异步部件
4 使用异步操作,发生了参数错误
POSIX_AIO_STD_Provider.cpp:553:(27632 | 3002796944)::ACE_POSIX_AIO_AIOCB_Provider::wait <aio_suspend> failed
: Invalid argument
5 代码如下所示:
ACE_POSIX_AIOCB_Proactor *pImpl = new ACE_POSIX_AIOCB_Proactor;
if(pImpl)
{
this->proactor_ = new ACE_Proactor(pImpl, 1);
if(this->proactor_ == NULL)
{
delete pImpl;
goto out;
}
ret = this->activate();
if(ret == -1)
{
delete this->proactor_;
this->proactor_ = NULL;
}
}
7 个人意见
是不是ACE_POSIX_AIOCB_Proactor对应的不是posix-aio的库呢,是那里错了呢
高手们快来支招阿,都快郁闷死了。 没用过这套东西。不过个人以为,Linux版本众多,缺乏统一的标准,导致一些程序的可移植性成问题。还是多查查当前版本的Linux对AIO的支持为好。 恩,用的是linux2.6.23内核的,支持是肯定支持的,但就不知道哪里用错了。郁闷阿
页:
[1]