Hi, I recently noticed a flaw with the current implementation of aio, see kern/45441. Basically, if you do aio_read and aio_write to one pipe you might block a process's aio thread and thus block all aio activity with current and future fildes of the process. All you can do in this situation is to kill a process.
One possible solution is using separate threads for reading and writing. It's a bit of work but it looks quite straitforward and I can do it at my spare time. Even with two threads, aio implementation is not optimal but I don't have enough knowledge about NetBSD internals to make a better implemention. What do you guys think of my plan? Thanks, Alex
