cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: getpwuid_r on Solaris and _POSIX_PTHREAD_SEMANTICS

From: Dan Fandrich <dan_at_coneharvesters.com>
Date: Mon, 14 Jul 2014 10:28:53 +0200

On Sun, Jul 13, 2014 at 03:05:04PM +0200, Tor Arntsen wrote:
> On 13 July 2014 09:33, Dan Fandrich <dan_at_coneharvesters.com> wrote:
> > The Solaris builds failed overnight because their default getpwuid_r uses four
> > arguments instead of the POSIX standard 5. They do provide a POSIX-conformant
> > version if you compile with the macro _POSIX_PTHREAD_SEMANTICS set. We could do
> > a getnameinfo-style configure check on the number of arguments available, or
> > just force Solaris to compile with _POSIX_PTHREAD_SEMANTICS. Since this is a
> > standards-conforming function and Solaris does actually provide it, I would
> > rather set the macro, but could there be any other bad side effects of doing
> > so for the whole curl build?
>
> Maybe we could simply just give it a try (after the upcoming release),

Problem is, this change broke curl compiles out-of-the-box for Solaris. We need
to do something by the time of this release.

> follow the autobuilds, and see how it works? I guess maybe Yang may
> have some input on this, he did a lot of work with the autoconfig,
> also for Solaris.

Yang hasn't been active here for almost a year; I'm not sure what he's up to.

> I have been reading the manpages, as an alternative to setting
> _POSIX_PTHREAD_SEMANTICS there's also the more global option of
> setting _POSIX_C_SOURCE to a value >= 199506L
> but I'm not sure how that would work out (although I do that in some
> of my own code).

The Netware makefile sets _POSIX_SOURCE when necessary, but the Minix
instructions in INSTALL say to set it manually, so we're not handling this kind
of thing consistently across platforms. I a bit worried that setting
_POSIX_C_SOURCE automatically on Solaris will cause too many other changes.
Setting _POSIX_PTHREAD_SEMANTICS sounds like it would be more isolated to
what's needed in this case, and therefore safer.

>>> Dan

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2014-07-14