jonathanliu2004 发表于 2008-7-2 00:17:12

[急]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的库呢,是那里错了呢


   高手们快来支招阿,都快郁闷死了。

winston 发表于 2008-7-2 10:33:40

没用过这套东西。不过个人以为,Linux版本众多,缺乏统一的标准,导致一些程序的可移植性成问题。还是多查查当前版本的Linux对AIO的支持为好。

jonathanliu2004 发表于 2008-7-2 16:48:35

恩,用的是linux2.6.23内核的,支持是肯定支持的,但就不知道哪里用错了。郁闷阿
页: [1]
查看完整版本: [急]linux下使用异步操作出现参数错误,谁能解决阿