From e3285f32e8262d1de69ddcd1d5a757a081be1eb4 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 19 Feb 2007 22:06:23 +0000 Subject: [PATCH] Update PQfree() documentation to be clearer, backpatch to 8.2.X. --- doc/src/sgml/libpq.sgml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 5b8ef438b3..a7be065ec6 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,4 +1,4 @@ - + <application>libpq</application> - C Library @@ -2617,9 +2617,13 @@ void PQfreemem(void *ptr); PQescapeBytea, PQunescapeBytea, and PQnotifies. - It is needed by Microsoft Windows, which cannot free memory across - DLLs, unless multithreaded DLLs ( in VC6) are used. - On other platforms, this function is the same as the standard library function free(). + It is particularly important that this function, rather than + free(), be used on Microsoft Windows. This is because + allocating memory in a DLL and releasing it in the application works + only if multithreaded/single-threaded, release/debug, and static/dynamic + flags are the same for the DLL and the application. On non-Microsoft + Windows platforms, this function is the same as the standard library + function free().