From 400fb19a30fe35da91fb2ed68c5b28c0083ef880 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Thu, 28 May 2009 20:02:10 +0000
Subject: [PATCH] Document that forking while having open libpq connections is
 not advised.

---
 doc/src/sgml/libpq.sgml | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 44b117e4cd..85ba6dadd1 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.288 2009/04/27 16:27:36 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.289 2009/05/28 20:02:10 momjian Exp $ -->
 
 <chapter id="libpq">
  <title><application>libpq</application> - C Library</title>
@@ -64,6 +64,16 @@
    whether a connection was successfully made before queries are sent
    via the connection object.
 
+   <warning>
+    <para>
+     On Unix, forking a process with open libpq connections can lead to
+     unpredictable results because the parent and child processes share
+     the same sockets and operating system resources.  For this reason,
+     such usage is not recommended, though doing an <function>exec</> from
+     the child process to load a new executable is safe.
+    </para>
+   </warning>
+
    <note>
     <para>
      On Windows, there is a way to improve performance if a single