Re: Threading fix for AIX - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: Threading fix for AIX
Date
Msg-id 200412141957.iBEJvKL26605@candle.pha.pa.us
Whole thread Raw
In response to Re: Threading fix for AIX  ("Zeugswetter Andreas DAZ SD" <ZeugswetterA@spardat.at>)
Responses Re: Threading fix for AIX  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Threading fix for AIX  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
Zeugswetter Andreas DAZ SD wrote:
>
> >> 1. the snprintf long long int check that uses int64 as variable name which is
> >>     a typedef in sys/inttypes.h
> >
> > I changed it to ac_int64.  Does that help?
>
> One more is needed in c-library.m4.

OK, done.

> >> 2. whether strerror_r returns int check fails with a redefine of named function
> >>     from string.h
> >
> > I see.  Our test is:
> >     int strerror_r(int, char *, size_t);
> > but AIX is:
> >     int  strerror_r(int, char *, int);
> > OK, I added an #ifndef _AIX to use 'int' for the 3rd arg for AIX.
>
> The wrong define is only on older AIX versions :-(
> And the patch produces wrong code asis (missing # and #endif).
> Since AIX always has the int returning function, how about no test on AIX:
> #ifndef_AIX
> int strerror_r(int, char *, size_t);
> #endif

I would rather keep testing.  Hardcoding platforms stuff usually fails
in some way.

>
> > Please test this patch and report back.  Thanks.
>
> attached is a reworked patch that works on aix 4.3.2 and 5.2, please check the configure part,
> cause I don't have autoconf.

I modified my patch to fix the problems you reported.  Please report
back.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: "Zeugswetter Andreas DAZ SD"
Date:
Subject: Re: Threading fix for AIX
Next
From: Bruce Momjian
Date:
Subject: Re: Threading fix for AIX