diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 5b8ef438b36995ff9ca0409e449633fc5d128b79..a7be065ec67d0cf6a240e620aed2afa7e5f59a2d 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>