threads/UnixWare

From: Larry Rosenman <ler(at)lerctr(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: threads/UnixWare
Date: 2003-08-08 00:33:41
Message-ID: 77300000.1060302821@lerlaptop.lerctr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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(at)lerctr(dot)org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2003-08-08 01:16:05 Remove spaces in pg_dump
Previous Message Tom Lane 2003-08-08 00:19:06 Re: LOCK.tag(figuring out granularity of lock)