2
我试着向mio添加几个fds,包括标准输入。 我的应用程序陷入困境,试图从标准输入读取,从mio得到一个事件后,该标准输入可读。锈mio总是报告即使stdin
当我调整应用程序时,我注意到mio使用epoll_wait
并且该系统调用立即返回。
strace -e trace=epoll_create,epoll_ctl,epoll_wait,read,epoll_create1 ./target/debug/ongybar
epoll_create1(EPOLL_CLOEXEC) = 6
epoll_ctl(6, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLET, {u32=4294967295, u64=18446744073709551615}}) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 3, {EPOLLIN, {u32=0, u64=0}}) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 0, {EPOLLIN, {u32=0, u64=0}}) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 4, {EPOLLIN, {u32=4, u64=4}}) = 0
epoll_wait(6, [{EPOLLIN, {u32=4, u64=4}}], 4, -1) = 1
read(4, "[...], 8192) = 1004
epoll_wait(6, [{EPOLLIN, {u32=0, u64=0}}], 4, -1) = 1
read(0,
完整的代码,我有遇到这个是github。