Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
От | Larry Rosenman |
---|---|
Тема | Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...) |
Дата | |
Msg-id | 4990000.1062480247@lerlaptop.lerctr.org обсуждение исходный текст |
Ответ на | 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 00:04:35 -0400 Bruce Momjian <pgman@candle.pha.pa.us> wrote: > Larry Rosenman wrote: >> >> > Oh, interesting. So you are saying that if the OS supports threads, >> >> > then we use the *_r if they have them, and assume the non *_r >> >> > functions are already thread-safe if they don't. Interesting. >> >> > >> >> > That seems to be what we have on Unixware, and on BSD/OS I have some >> >> > *_r functions but not others, but they are all threadsafe, so your >> >> > plan works there too. >> >> UnixWare's Kernel is threaded, and I assume anything in libc is >> >> threadsafe unless >> >> told otherwise. >> > >> > What? You said Unixware needs getpwuid_r. And this has nothing to do >> > with whether the kernel is threaded. >> right, getpwuid is not threadsafe, so we use the provided getpwuid_r. > > Larry, I read the URL you gave me: > > http://www.lerctr.org:8458/en/man/html.3C/getpwent.3C.html > > Where does it say that you have to use getpwuid_r() to be thread safe? > I don't see any mention in the docs. It does say about getpwuid: > > For getpwent, getpwuid, getpwnam, setpwent, endpwent, and > fgetpwent, all information is contained in a static area, so it must be > copied if it is to be > > but that in itself doesn't mean it isn't thread safe. If you are not > sure, would you write a little thread program to test if it works if two > threads try it at the same time. I only have a UP box. Since the _r version uses OUR OWN buffer, it is safer to use the _r version. Since we do NOT have the _r alternative for strerror and gethostbyname, that's the best we can do. -- 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 по дате отправления: