Re: Unportability of setvbuf()

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Unportability of setvbuf()
Date: 2014-05-15 16:39:03
Message-ID: 28070.1400171943@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> Tom Lane wrote:
>> It might also be reasonable to create a wrapper macro along the line of
>> "PG_STD_IO_BUFFERING()" that would encapsulate the whole sequence
>> setvbuf(stdout, NULL, _IOLBF, 0);
>> setvbuf(stderr, NULL, _IONBF, 0);
>> Or maybe we should have separate macros for those two calls. Or maybe
>> this is just a useless layer of abstraction and PG_IOLBF is enough
>> to make the calls portable.
>>
>> Thoughts?

> I don't really know all that much about this stuff, but see commits
> 6eda3e9c27781dec369542a9b20cba7c3d832a5e and its parent about
> isolationtester.

Yeah, making them both unbuffered is another scenario that has its
use-cases, so maybe it's inappropriate to create a macro that presumes
to define the One True Way.

For the moment I'll just arrange for initdb to share the logic with
syslogger.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2014-05-15 16:43:35 buildfarm animals and 'snapshot too old'
Previous Message Bruce Momjian 2014-05-15 16:35:59 Re: proposal: Set effective_cache_size to greater of .conf value, shared_buffers