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

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

Существует ли стандартный способ проверки, блокирует ли cout << или нет, когда он подключен к каналу? </p>

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Что касается QNX, я уверен, что select / poll должно сработать.

1 голос
/ 03 ноября 2010

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

...