Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
Bruce Momjian <pgman@candle.pha.pa.us>
From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Larry Rosenman <ler@lerctr.org>
Cc: Peter Eisentraut <peter_e@gmx.net>, Lee Kindness <lkindness@csl.co.uk>, "Marc G. Fournier" <scrappy@hub.org>, Tom Lane <tgl@sss.pgh.pa.us>, "Marc G. Fournier" <scrappy@postgresql.org>, PostgreSQL Development <pgsql-hackers@postgresql.org>
Date: 2003-09-02T15:35:25Z
Lists: pgsql-hackers
Larry Rosenman wrote: > > > --On Tuesday, September 02, 2003 11:20:14 -0400 Bruce Momjian > <pgman@candle.pha.pa.us> wrote: > > > 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. > So, given that UnixWare doesn't have gethostbyname_r and strerror_r, but > does have > getpwuid_r, will y'all declare that UnixWare has thread-safety? > > My vote is YES. I am inclined to think yes. It would prevent uglification of the code by not having to special-case Unixware. However, I was able to read the libc sources to confirm thread-safety. Because you can not see the source, would you try a threaded program and see if calls to getpwuid from different threads return different pointer values? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073