Re: UnixWare 7.1.4 (and OpenServer) sigwait issue

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Andrew Chernow <ac(at)esilo(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: UnixWare 7.1.4 (and OpenServer) sigwait issue
Date: 2009-02-07 15:35:45
Message-ID: 200902071535.n17FZjw26996@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


I don't think anyone replied to your questions below so let me try.

I am afraid this falls in the same category as the HP-UX patch, in that
it is for threading on an older platform and is more for a single site
rather than something where more users can benefit.

It would be interesting if you could host a web page, perhaps on our
wiki, that lists patches for older platforms so we don't lose this
information and it might be helpful to use some day.

---------------------------------------------------------------------------

Andrew Chernow wrote:
> 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(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2009-02-07 16:16:12 Re: [COMMITTERS] pgsql: Implement prefetching via posix_fadvise() for bitmap index scans.
Previous Message Alvaro Herrera 2009-02-07 15:24:46 Re: How to get SE-PostgreSQL acceptable