Можно ли контролировать уровень буфера printf? - PullRequest
0 голосов
/ 26 января 2020

Я искал ответ на этот вопрос, но не нашел его.

Есть ли способ узнать, когда буфер printf заполняется? Например, программа Linux печатает ход выполнения или отладочную информацию на удаленный пользовательский терминал. В зависимости от соединения пользователя inte rnet терминал может время от времени не принимать данные или даже отключаться, и в этом случае программа вскоре останавливается, ожидая printf, который заблокирован.

Неблокирующая печать printf подходит к упомянутому выше. здесь и использование setvbuf () с _IONBF не подходят, потому что они влияют на производительность printf, даже когда проблем нет. Простым решением было бы проверить уровень буфера printf и, если он достигнет некоторого заполненного%, прекратить вывод, пока он не уменьшится.

...