Re: pgstat: remove delayed destroy / pipe:

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Magnus Hagander <mha(at)sollentuna(dot)net>
Cc: Peter Brant <Peter(dot)Brant(at)wicourts(dot)gov>, pgsql-patches(at)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: pgstat: remove delayed destroy / pipe:
Date: 2006-05-07 01:39:59
Message-ID: 200605070139.k471dxm12857@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Magnus Hagander wrote:
> > It turns out the problem is that port/pipe.c is compiled with
> > -DFRONTEND and include/port/win32.h wraps the recv to
> > pgwin32_recv macro in a #ifndef FRONTEND. We've actually
> > been using the WinSock recv function directly (verified with gcc -E).
>
> That's definitly wrong.
> Looks like this file needs a _srv version in the Makefile. Bruce?

Wow! That is disturbing. I tried to minimize the affect of FRONTEND,
but obviously I never though about the affect on include files that use
FRONTEND. Seems it is only Win32 that used FRONTEND in includes (except
for pg_wchar.h, which is used by libpq and already built independently).

> Just a thought - might this affect more things that rely on FRONTEND
> defines in the headers? How bad would it be to just make libpgport build
> two complete sets of object files, one for server and one for frontend,
> instead of special-casing which files are rebuilt?

The attached patch does exactly what you suggest. I think it has to be
patched to 8.0.X, 8.1.X, and HEAD. I will apply in 24-48 hours.

--
Bruce Momjian http://candle.pha.pa.us
EnterpriseDB http://www.enterprisedb.com

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

Attachment Content-Type Size
unknown_filename text/plain 1.6 KB

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2006-05-07 01:44:10 Re: pgstat: remove delayed destroy / pipe: socket error fix
Previous Message Bruce Momjian 2006-05-06 21:25:09 Re: [PATCH] Add support for GnuTLS