From e3285f32e8262d1de69ddcd1d5a757a081be1eb4 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> 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 5b8ef438b36..a7be065ec67 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.231 2007/02/16 16:37:29 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.232 2007/02/19 22:06:23 momjian Exp $ --> <chapter id="libpq"> <title><application>libpq</application> - C Library</title> @@ -2617,9 +2617,13 @@ void PQfreemem(void *ptr); <function>PQescapeBytea</function>, <function>PQunescapeBytea</function>, and <function>PQnotifies</function>. - It is needed by Microsoft Windows, which cannot free memory across - DLLs, unless multithreaded DLLs (<option>/MD</option> in VC6) are used. - On other platforms, this function is the same as the standard library function <function>free()</>. + It is particularly important that this function, rather than + <function>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 <function>free()</>. </para> </listitem> </varlistentry> -- GitLab