Update PQfree() documentation to be clearer, backpatch to 8.2.X.

This commit is contained in:
Bruce Momjian 2007-02-19 22:06:23 +00:00
parent 4acc4aa871
commit e3285f32e8
1 changed files with 8 additions and 4 deletions

View File

@ -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>