[Freeipa-devel] [PATCH] 0236 Flush stream after writing service messages

Petr Viktorin pviktori at redhat.com
Tue Jun 11 12:43:56 UTC 2013


On 06/11/2013 02:32 PM, Alexander Bokovoy wrote:
> On Tue, 11 Jun 2013, Alexander Bokovoy wrote:
>> On Mon, 10 Jun 2013, Petr Viktorin wrote:
>>> Hello,
>>> This is related to testing but can be pushed independently. It will
>>> make testing master much more pleasant.
>>>
>>>
>>> sys.stdout is buffered by default if redirected to a file.
>>> This may cause automated installation to appear hung.
>>> Flush the stream so that messages are written immediately.
>> Despite the fact that we have abstracted out output_fd in service class,
>> in existing code it is only used against sys.stdout.
>>
>> Just in case it would be used against different output_fd, could you
>> please
>> make flush() conditional under output_fd.isatty() condition?
> On further thinking this conditioning is not really needed. So scratch
> it.
> ACK for the original patch.
>

To elaborate why conditioning it's not needed:
On a TTY, stdout is already unbuffered, so flush() is a no-op.
In tests the stdout can be connected to Jenkins' console watcher or 
through a SSH channel to a controlling machine in integration tests. In 
these cases there's no TTY but we want the output flushed in case 
someone is tailing the output (or attaching timestamps to the lines).
Also the messages are infrequent enough that performance isn't a concern.

Pushed to master (as e8e88ed2084faeba7858f54c310e333b60513ed5)

-- 
Petr³




More information about the Freeipa-devel mailing list