Open qinpan1003 opened 5 years ago
是的,aio并不是100%的都完成。好像记得当时要关联信号处理,还是挺有难度的。
@qinpan1003 可以联系下我,看看如何一起做得更好。
嗯,现在就是io处理完了之后,没有发送信号。 我觉得比较简单的方法就是在 struct aiocb *cb 结构体里面增加一个成员记录线程的pid。 io处理完之后,向这个pid发送信号。
发生signal的方式,总体感觉下来是比较麻烦的,所以当时没采用这样的方式。也可以想想是否有更好的方式,并欢迎提供PR及测试用例
aio_fync_work aio_read_work aio_write_work
1、这几个函数操作结束后,没有使用 cb->aio_sigevent 发送信号。 2、仔细看了一下,struct aiocb *cb 结构里面没有记录线程信息,结束后也不知道谁是调用者。
对比了一下 nuttx,rtthread,两者代码很相似,看起来 rtt 的 aio 还不完善。。。