I suppose that is ok. But the default compiler flags in the provided 
makefile for libpq is non-multithreaded. That should at least be fixed I 
would think.

If it's not a big deal for you, I would say that in the name of safety for 
those people who don't look closely at these things, it would be better to 
have the callback function to delete the memory and not have to assume libpq 
is built with the correct c-runtimes...

-Dave




>From: Bruce Momjian <pgman@candle.pha.pa.us>
>To: Key88 SF <key88sf@hotmail.com>
>CC: pgsql-hackers@postgresql.org
>Subject: Re: [HACKERS] PQescapeBytea on Win32
>Date: Tue, 18 Mar 2003 00:01:38 -0500 (EST)
>MIME-Version: 1.0
>Received: from candle.pha.pa.us ([207.106.42.251]) by 
>mc6-f24.law1.hotmail.com with Microsoft SMTPSVC(5.0.2195.5600); Mon, 17 Mar 
>2003 21:01:44 -0800
>Received: (from pgman@localhost)by candle.pha.pa.us (8.11.6/8.10.1) id 
>h2I51cW03568;Tue, 18 Mar 2003 00:01:38 -0500 (EST)
>X-Message-Info: JGTYoYF78jEHjJx36Oi8+Q1OJDRSDidP
>Message-Id: <200303180501.h2I51cW03568@candle.pha.pa.us>
>In-Reply-To: <F159qHSgNZuILS94O9J00042a23@hotmail.com>
>X-Mailer: ELM [version 2.4ME+ PL99 (25)]
>Return-Path: pgman@candle.pha.pa.us
>X-OriginalArrivalTime: 18 Mar 2003 05:01:44.0926 (UTC) 
>FILETIME=[78F0B7E0:01C2ED0B]
>
>
>Yes, I am aware of that limitation.  If you link libpq as a
>Multithreaded DLL, it will not link libc into each DLL, but have only
>one libc that can free from anywhere.
>
>Is that acceptable or do we need a Win32 specific memory free function?
>
>---------------------------------------------------------------------------
>
>Key88 SF wrote:
> >
> > Hi - there is a problem with PQescapeBytea for Win32. Since libpq is a 
>DLL,
> > all memory allocated from within the DLL needs to be freed from within 
>the
> > dll.
> >
> > PQescapeBytea allocates memory, but there is no function call back into 
>the
> > DLL to free this memory. This causes heap corruption when the main 
>program
> > tries to free the memory itself. The alternative is to just leak the 
>memory
> > and never free it. Also bad....
> >
> > -Dave Brown
> > key88sf@hotmail.com
> >
> >
> > _________________________________________________________________
> > Add photos to your messages with MSN 8. Get 2 months FREE*.
> > http://join.msn.com/?page=features/featuredemail
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo@postgresql.org so that your
> > message can get through to the mailing list cleanly
> >
>
>--
>   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


_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.  
http://join.msn.com/?page=features/featuredemail


Tue, 18 Mar 2003 05:07:29 +0000
"Key88 SF" <key88sf@hotmail.com>
Re: PQescapeBytea on Win32
Key88 SF wrote:
> I suppose that is ok. But the default compiler flags in the provided 
> makefile for libpq is non-multithreaded. That should at least be fixed I 
> would think.
> 
> If it's not a big deal for you, I would say that in the name of safety 
> for those people who don't look closely at these things, it would be 
> better to have the callback function to delete the memory and not have 
> to assume libpq is built with the correct c-runtimes...
> 

Since you know exactly what's needed, and a project that needs it, why 
don't you submit a patch? ;-)

Joe




Mon, 17 Mar 2003 21:41:26 -0800
Joe Conway <mail@joeconway.com>
Re: PQescapeBytea on Win32