开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
c++11
问题(Question):
当pipe在其他thread瞬间大量写入时,
epoll_wait只会被唤醒一次,
如果没一次把data全部读完就会卡在epoll_wait
除非改成epoll_wait(efd, events, MAXEVENTS, 1000);
预期的正确结果(Expected Output):
每轮只从各fd读取一部份资料,
要如何得知还有data未读取,
并在下一轮继续读取剩下的资料呢?
程式码(Code):(请善用置底文网页, 记得排版)
以下是简化后示意的程式码:
http://codepad.org/8af9AZkm
g++ -o main.o main.cpp