Re: threads/UnixWare - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: threads/UnixWare
Date
Msg-id 200308080610.h786APD12978@candle.pha.pa.us
Whole thread Raw
In response to threads/UnixWare  (Larry Rosenman <ler@lerctr.org>)
Responses Re: threads/UnixWare
Re: threads/UnixWare
Re: threads/UnixWare
List pgsql-hackers
Actually, your getpwuid_r is the old, pre-POSIX format.  The attached
email has the configure tests.  I was hoping we wouldn't need them, but
it seems we may.

---------------------------------------------------------------------------

Larry Rosenman wrote:
> In src/port, we have in threads.c:
>
> /*
>  * Wrapper around getpwuid() or getpwuid_r() to mimic POSIX getpwuid_r()
>  * behaviour, if it is not available.
>  */
> int
> pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer,
>                    size_t buflen, struct passwd ** result)
> {
> #if defined(USE_THREADS) && defined(HAVE_GETPWUID_R)
>
>         /*
>          * broken (well early POSIX draft) getpwuid_r() which returns
> 'struct
>          * passwd *'
>          */
>         *result = getpwuid_r(uid, resultbuf, buffer, buflen);
> #else
>         /* no getpwuid_r() available, just use getpwuid() */
>         *result = getpwuid(uid);
> #endif
>         return (*result == NULL) ? -1 : 0;
> }
>
>
> Which BREAKS if you have the correct getpwuid_r() like UnixWare does.
>
> Can someone help me with the configure checks/macros I need?
> $ grep getpwuid_r /usr/include/pwd.h
> int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **);
> $
>
>
>
>
> --
> 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
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

--
  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

pgsql-hackers by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: Problem building contrib/array in current CVS
Next
From: Larry Rosenman
Date:
Subject: Re: threads/UnixWare