[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: ITS#8504 fix breaks Solaris builds



--On Wednesday, June 07, 2017 3:35 PM +0200 Hallvard Breien Furuseth 
<h.b.furuseth@usit.uio.no> wrote:

> On 06. juni 2017 21:59, quanah@openldap.org wrote:
>> /usr/include/signal.h:233:12: note: declared here
>>   extern int sigwait(sigset_t *);
>>              ^
>
> POSIX says it has two arguments:
>    http://pubs.opengroup.org/onlinepubs/9699919799/functions/sigwait.html
> Is there a two-argument version of sigwait in the Solaris headers
> somewhere,
> maybe enabled by #define POSIX_C_SOURCE 1 or something like that?

It's insanely long....


/*
 * sigwait() prototype is defined here.
 */

#if     defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
        !defined(__XOPEN_OR_POSIX)) || (_POSIX_C_SOURCE - 0 >= 199506L) || \
        defined(_POSIX_PTHREAD_SEMANTICS)

#if     defined(__STDC__)

#if     (_POSIX_C_SOURCE - 0 >= 199506L) || 
defined(_POSIX_PTHREAD_SEMANTICS)

#ifdef __PRAGMA_REDEFINE_EXTNAME
#pragma redefine_extname sigwait __posix_sigwait
extern int sigwait(const sigset_t *_RESTRICT_KYWD, int *_RESTRICT_KYWD);
#else  /* __PRAGMA_REDEFINE_EXTNAME */

extern int __posix_sigwait(const sigset_t *_RESTRICT_KYWD,
    int *_RESTRICT_KYWD);

#ifdef  __lint
#define sigwait __posix_sigwait
#else   /* !__lint */

static int
sigwait(const sigset_t *_RESTRICT_KYWD __setp, int *_RESTRICT_KYWD __signo)
{
        return (__posix_sigwait(__setp, __signo));
}

#endif /* !__lint */
#endif /* __PRAGMA_REDEFINE_EXTNAME */

#else  /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */

extern int sigwait(sigset_t *);

#endif  /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */


#else  /* __STDC__ */


#if     (_POSIX_C_SOURCE - 0 >= 199506L) || 
defined(_POSIX_PTHREAD_SEMANTICS)

#ifdef __PRAGMA_REDEFINE_EXTNAME
#pragma redefine_extname sigwait __posix_sigwait
extern int sigwait();
#else  /* __PRAGMA_REDEFINE_EXTNAME */

extern int __posix_sigwait();

#ifdef  __lint
#define sigwait __posix_sigwait
#else   /* !__lint */

static int
sigwait(__setp, __signo)
        sigset_t *__setp;
        int *__signo;
{
        return (__posix_sigwait(__setp, __signo));
}

#endif /* !__lint */
#endif /* __PRAGMA_REDEFINE_EXTNAME */

#else  /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */

extern int sigwait();

#endif /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */

#endif /* __STDC__ */

#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) ... */



--

Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>