cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: getpwuid_r on Solaris and _POSIX_PTHREAD_SEMANTICS

From: Mischa Salle <mischa.salle_at_gmail.com>
Date: Mon, 14 Jul 2014 11:23:43 +0200

Hi,

just to mention that for a piece of code I maintain, which also uses
getpwnam_r() and getpwuid_r(), I have been using
#ifdef __sun
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
which works fine.
Note that Solaris manpages are not always 100% accurate with what is
needed. It's usually best to also scan through the actual header files to
check it's correct.

Best wishes,
Mischa

On Mon, Jul 14, 2014 at 10:28 AM, Dan Fandrich <dan_at_coneharvesters.com>
wrote:

> 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

-- 
Van Boshuizenstraat 443
1082 AR Amsterdam
The Netherlands
Tel. (+31/0)20-4043782

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