Как проверить, будет ли блокироваться вывод на std::cout (подключенный к каналу)

У меня есть программа на C++, которая запускается другим исполняемым файлом, который принимает выходные данные этой программы через канал. В определенных условиях родительский процесс читает медленнее, чем пишет дочерний, и дочерний процесс блокируется, когда буфер канала в диспетчере каналов (QNX) заполняется.

Есть ли стандартный способ проверить, будет ли cout ‹‹ блокироваться или нет, когда он подключен к каналу?


person m1tk4    schedule 02.11.2010    source источник


Ответы (2)


Нет, обнаружение зависит от операционной системы.

person Ben Jackson    schedule 02.11.2010

Для QNX я почти уверен, что выбрать/опрос должен выполнять обманывать.

person Eugen Constantin Dinca    schedule 02.11.2010