Continuing http://archives.postgresql.org/pgsql-hackers/2009-01/msg01762.php
Bruce Momjian wrote:
>
> Well, this helps explain why were are getting these problems reports
> only now. How many hacks do you have that we don't support, aside from
> the threading one for HPUX?
>
Compiling threaded libpq on UnixWare fails on sigwait.
I quickly setup a test for unixware 7.1.4. The only issue I found was with
sigwait. Although unixware does have a 2arg POSIX.1c version, it requires
setting _XOPEN_SOURCE and _POSIX_C_SOURCE in such a manner that breaks other things:
(http://uw714doc.sco.com/en/man/html.3pthread/sigwait.3pthread.html).
My solution was:
1. added the below to configure.in line 1620, same section as
PGAC_FUNC_POSIX_SIGNALS checks.
AC_MSG_CHECKING(for POSIX.1c sigwait)
AC_TRY_COMPILE([#include <signal.h>],
[sigwait((const sigset_t *)NULL, (int *)NULL)],
[AC_DEFINE(HAVE_POSIX1C_SIGWAIT, 1,
[Define if the system includes a POSIX.1c sigwait])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
2. Remove the sigwait prototype declaration from src/test/thread/thread_test.c.
I do not know why it is forcing the 2 arg version of sigwait? Any insight
would be helpful. Maybe it is for good reason.
3. Update fe-secure.c line 1337, the only place that uses sigwait, to the below:
#ifdef HAVE_POSIX1C_SIGWAIT
sigwait(&sigpipe_sigset, &signo);
#else
signo = sigwait(&sigpipe_sigset);
#endif
If these changes seemare acceptable, I will provide a formal patch. BTW,
openserver has the same issue so this kills two birds with one stone. Not sure
if openserver has other issues yet, test scheduled for Monday.
--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers