Re: Thread configure flag

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Thread configure flag
Date: 2003-06-16 20:10:41
Message-ID: 6399.1055794241@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> Bruce Momjian writes:
>> If it is the default, libpq is going to use the libc_r library, at least
>> on some platforms, and that may not be desired.

> But what is the objective reason for this lack of desire?

I have heard that the reentrant libc is significantly worse-performing
than the non-reentrant one on some platforms. This is not real hard
to believe, since functions as common as malloc() will need locking
overhead if they think they might be in a multithreaded environment.

However, that's only an argument that we must provide a
--without-threads option, it doesn't speak strongly to the question of
what the default choice should be (where there is a choice).

> _POSIX_PTHREAD_SEMANTICS isn't used anywhere in the entire system, the
> effect of _THREAD_SAFE is to define _REENTRANT, and the effect of
> _REENTRANT is to declare getlogin_r(), which PostgreSQL sources don't use.

On which version of Linux are the above statements true? Are you sure
they are true on other versions?

regards, tom lane

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Josh Berkus 2003-06-16 23:19:32 Runtime.sgml patch
Previous Message Bruce Momjian 2003-06-16 19:18:32 Re: Thread configure flag