开发平台(Platform): CentOS 7
编译器: GCC std=c++11
额外使用到的函数库(Library Used):
sys/socket.h
poll.h
问题(Question):
很奇怪的状况,一段程式码中,会先send(),成功后会poll()来等
poll成功的话就recv()
很基本的使用,但只要我在send之前简单加上一行:
std::cout << "a" << std::endl;
(printf也一样)
就有可能“机率性”的,server就收不到send,也可说就是send不出去
但如果是在send之后,不管加上几行cout,都是正常
在想是不是底层的i/o有bug? 另外这是multi-thread的程式
这段程式是运行在子thread,但也看不出来cout跟multi-thread有什么关系?
请问有人遇过这种状况吗?
或认为可能的问题是出在哪吗?