Re: pgstat: remove delayed destroy / pipe: - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: pgstat: remove delayed destroy / pipe: |
Date | |
Msg-id | 200605080220.k482KHS07451@candle.pha.pa.us Whole thread Raw |
In response to | Re: pgstat: remove delayed destroy / pipe: (Bruce Momjian <pgman@candle.pha.pa.us>) |
List | pgsql-patches |
Patch applied to HEAD, 8.1.X and 8.0.X. --------------------------------------------------------------------------- Bruce Momjian wrote: > 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. + > Index: src/port/Makefile > =================================================================== > RCS file: /cvsroot/pgsql/src/port/Makefile,v > retrieving revision 1.30 > diff -c -c -r1.30 Makefile > *** src/port/Makefile 9 Dec 2005 21:19:36 -0000 1.30 > --- src/port/Makefile 7 May 2006 01:05:32 -0000 > *************** > *** 26,37 **** > override CPPFLAGS := -I$(top_builddir)/src/port -DFRONTEND $(CPPFLAGS) > LIBS += $(PTHREAD_LIBS) > > ! # Replace object files that use FRONTEND define > ! LIBOBJS_SRV := $(LIBOBJS) > ! LIBOBJS_SRV := $(patsubst dirmod.o,dirmod_srv.o, $(LIBOBJS_SRV)) > ! LIBOBJS_SRV := $(patsubst exec.o,exec_srv.o, $(LIBOBJS_SRV)) > ! LIBOBJS_SRV := $(patsubst getaddrinfo.o,getaddrinfo_srv.o, $(LIBOBJS_SRV)) > ! LIBOBJS_SRV := $(patsubst thread.o,thread_srv.o, $(LIBOBJS_SRV)) > > all: libpgport.a libpgport_srv.a > > --- 26,33 ---- > override CPPFLAGS := -I$(top_builddir)/src/port -DFRONTEND $(CPPFLAGS) > LIBS += $(PTHREAD_LIBS) > > ! # Replace all object files so they use FRONTEND define > ! LIBOBJS_SRV := $(LIBOBJS:%.o=%_srv.o) > > all: libpgport.a libpgport_srv.a > > *************** > *** 60,72 **** > libpgport_srv.a: $(LIBOBJS_SRV) > $(AR) $(AROPT) $@ $^ > > ! dirmod_srv.o: dirmod.c > ! $(CC) $(CFLAGS) $(subst -DFRONTEND,, $(CPPFLAGS)) -c $< -o $@ > ! > ! exec_srv.o: exec.c > ! $(CC) $(CFLAGS) $(subst -DFRONTEND,, $(CPPFLAGS)) -c $< -o $@ > ! > ! getaddrinfo_srv.o: getaddrinfo.c > $(CC) $(CFLAGS) $(subst -DFRONTEND,, $(CPPFLAGS)) -c $< -o $@ > > # No thread flags for server version > --- 56,62 ---- > libpgport_srv.a: $(LIBOBJS_SRV) > $(AR) $(AROPT) $@ $^ > > ! %_srv.o: %.c > $(CC) $(CFLAGS) $(subst -DFRONTEND,, $(CPPFLAGS)) -c $< -o $@ > > # No thread flags for server version > > ---------------------------(end of broadcast)--------------------------- > TIP 6: explain analyze is your friend -- Bruce Momjian http://candle.pha.pa.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
pgsql-patches by date: