From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
Cc: | Lee Kindness <lkindness(at)csl(dot)co(dot)uk>, "Marc G(dot) Fournier" <scrappy(at)hub(dot)org>, Larry Rosenman <ler(at)lerctr(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...) |
Date: | 2003-09-02 15:20:14 |
Message-ID: | 200309021520.h82FKEM12100@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Peter Eisentraut wrote:
> Lee Kindness writes:
>
> > You don't... and you simply shouldn't care. If there is a_r version
> > available then we should use it - even if the plain version is "safe".
>
> The problem with this is that the automatic determination (in configure)
> whether there is a xxx_r() version is, in general, fragile. We cannot
> rely on configure saying that xxx_r() doesn't exist, so the plain xxx()
> should be good enough. Else, we'd be shipping claimed-to-be-thread-safe
> libraries that might trigger bugs that will be hard to track down.
>
> I don't see any other solution than keeping a database of NEED_XXX_R for
> each platform and then requiring these functions to show up before we
> declare a library to be thread-safe. So far we're only dealing with three
> functions, to it should be doable.
Right. We can't assume because a *_r function is missing that the
normal function is thread-safe.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2003-09-02 15:21:27 | Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...) |
Previous Message | Tatsuo Ishii | 2003-09-02 15:16:21 | Re: Index tuple killing code committed |