1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

thread-safety

Apply full patch to enable thread-safety by default, e.g. doc changes.
This commit is contained in:
Bruce Momjian
2009-12-02 14:07:26 +00:00
parent aebc4e67ff
commit 8c1c2e38f6
6 changed files with 48 additions and 137 deletions

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/ecpg.sgml,v 1.92 2009/11/30 14:47:37 momjian Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/ecpg.sgml,v 1.93 2009/12/02 14:07:25 momjian Exp $ -->
<chapter id="ecpg">
<title><application>ECPG</application> - Embedded <acronym>SQL</acronym> in C</title>
@ -4709,10 +4709,9 @@ ECPG = ecpg
</para>
<para>
The <application>ecpg</application> library is thread-safe if it is built
using the <option>--enable-thread-safety</> command-line option to
<filename>configure</filename>. (You might need to use other threading
command-line options to compile your client code.)
The <application>ecpg</application> library is thread-safe by
default. However, you might need to use some threading
command-line options to compile your client code.
</para>
</sect1>

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.327 2009/08/12 16:32:35 petere Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.328 2009/12/02 14:07:25 momjian Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
@ -1164,14 +1164,13 @@ su - postgres
</varlistentry>
<varlistentry>
<term><option>--enable-thread-safety</option></term>
<term><option>--disable-thread-safety</option></term>
<listitem>
<para>
Make the client libraries thread-safe. This allows
Disable the thread-safety of client libraries. This prevents
concurrent threads in <application>libpq</application> and
<application>ECPG</application> programs to safely control
their private connection handles. This option requires adequate
threading support in your operating system.
<application>ECPG</application> programs from safely controlling
their private connection handles.
</para>
</listitem>
</varlistentry>
@ -2835,12 +2834,10 @@ MANPATH=/usr/lib/scohelp/%L/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp:/usr
</sect3>
<sect3>
<title><option>--enable-thread-safety</option> and UnixWare</title>
<title>Threading on UnixWare</title>
<para>
If you use the <command>configure</command>
option <option>--enable-thread-safety</option>,
you <emphasis>must</emphasis> use <option>-Kpthread</option>
For threading, you<emphasis>must</emphasis> use <option>-Kpthread</option>
on <emphasis>all</emphasis> libpq-using programs. libpq
uses <function>pthread_*</function> calls, which are only
available with the

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.291 2009/12/02 04:54:10 tgl Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.292 2009/12/02 14:07:25 momjian Exp $ -->
<chapter id="libpq">
<title><application>libpq</application> - C Library</title>
@ -6579,11 +6579,8 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</indexterm>
<para>
<application>libpq</application> is reentrant and thread-safe if the
<filename>configure</filename> command-line option
<literal>--enable-thread-safety</> was used when the
<productname>PostgreSQL</productname> distribution was built. In
addition, you might need to use additional compiler command-line
<application>libpq</application> is reentrant and thread-safe by default.
You might need to use special compiler command-line
options when you compile your application code. Refer to your
system's documentation for information about how to build
thread-enabled applications, or look in