Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
От | Larry Rosenman |
---|---|
Тема | Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...) |
Дата | |
Msg-id | 92270000.1062517065@lerlaptop.iadfw.net обсуждение исходный текст |
Ответ на | Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...) (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
|
Список | pgsql-hackers |
--On Tuesday, September 02, 2003 11:35:25 -0400 Bruce Momjian <pgman@candle.pha.pa.us> wrote: > 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? It won't prove anything on MY box, as it is a UNIPROCESSOR, so the threads won't be dispatched at the same time. It's ok to assume thread-safety, as the SCO developer (Kean Johnston) asked the threads guys, and he said that the libc stuff is thread-safe so they don't have to have 2 different versions in libc. LER -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: ler@lerctr.org US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
В списке pgsql-hackers по дате отправления: