Re: [PATCHES] PATCH: Memory leaks on start-up - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: [PATCHES] PATCH: Memory leaks on start-up |
Date | |
Msg-id | 200307270545.h6R5j5P15375@candle.pha.pa.us Whole thread Raw |
In response to | Re: [PATCHES] PATCH: Memory leaks on start-up (Lee Kindness <lkindness@csl.co.uk>) |
Responses |
Re: [PATCHES] PATCH: Memory leaks on start-up
|
List | pgsql-hackers |
This patch no longer applies cleanly. The call is now: freeaddrinfo_all(hint.ai_family, addrs); Would you please submit a new patch, or is it no longer required? There were two fixed in your patch. Thanks. --------------------------------------------------------------------------- Lee Kindness wrote: Content-Description: message body text > Tom, happier with the attached patch? > > I'd have to disagree with regards to the memory leaks not being worth > a mention - any such leak can cause problems when the PostgreSQL > installation is either unattended, long-living andor has very high > connection levels. Half a kilobyte on start-up isn't negligible in > this light. > > Regards, Lee. > > Tom Lane writes: > > Lee Kindness <lkindness@csl.co.uk> writes: > > > Guys, attached is a patch to fix two memory leaks on start-up. > > > > I do not like the changes to miscinit.c. In the first place, it is not > > a "memory leak" to do a one-time allocation of state for a proc_exit > > function. A bigger complaint is that your proposed change introduces > > fragile coupling between CreateLockFile and its callers, in order to > > save no resources worth mentioning. More, it introduces an assumption > > that the globals directoryLockFile and socketLockFile don't change while > > the postmaster is running. UnlinkLockFile should unlink the file that > > it was originally told to unlink, regardless of what happens to those > > globals. > > > > If you are intent on spending code to free stuff just before the > > postmaster exits, a better fix would be for UnlinkLockFile to free its > > string argument after using it. > > Index: src/backend/libpq/pqcomm.c > =================================================================== > RCS file: /projects/cvsroot/pgsql-server/src/backend/libpq/pqcomm.c,v > retrieving revision 1.157 > diff -u -r1.157 pqcomm.c > --- src/backend/libpq/pqcomm.c 12 Jun 2003 07:36:51 -0000 1.157 > +++ src/backend/libpq/pqcomm.c 22 Jul 2003 14:16:46 -0000 > @@ -363,7 +363,7 @@ > added++; > } > > - freeaddrinfo(addrs); > + freeaddrinfo2(family, addrs); > > if (!added) > { > Index: src/backend/utils/init/miscinit.c > =================================================================== > RCS file: /projects/cvsroot/pgsql-server/src/backend/utils/init/miscinit.c,v > retrieving revision 1.104 > diff -u -r1.104 miscinit.c > --- src/backend/utils/init/miscinit.c 27 Jun 2003 19:08:37 -0000 1.104 > +++ src/backend/utils/init/miscinit.c 22 Jul 2003 14:16:46 -0000 > @@ -673,8 +673,15 @@ > static void > UnlinkLockFile(int status, Datum filename) > { > - unlink((char *) DatumGetPointer(filename)); > - /* Should we complain if the unlink fails? */ > + char *fname = (char *)DatumGetPointer(filename); > + if( fname != NULL ) > + { > + if( unlink(fname) != 0 ) > + { > + /* Should we complain if the unlink fails? */ > + } > + free(fname); > + } > } > > /* > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -- 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-hackers by date: