List:Commits« Previous MessageNext Message »
From:paul Date:March 6 2007 4:58pm
Subject:svn commit - mysqldoc@docsrva: r5203 - in trunk: . refman-4.1 refman-5.0 refman-5.1
View as plain text  
Author: paul
Date: 2007-03-06 17:58:31 +0100 (Tue, 06 Mar 2007)
New Revision: 5203

Log:
 r21060@polar:  paul | 2007-03-06 10:35:00 -0600
 Better signify that the non-thread-safe-ness of mysql_library_init()
 also affects mysql_init().


Modified:
   trunk/refman-4.1/apis-c.xml
   trunk/refman-5.0/apis-c.xml
   trunk/refman-5.1/apis-c.xml

Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:21059
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:16997
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:14593
   + 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:21060
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:16997
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:14593


Modified: trunk/refman-4.1/apis-c.xml
===================================================================
--- trunk/refman-4.1/apis-c.xml	2007-03-06 16:57:36 UTC (rev 5202)
+++ trunk/refman-4.1/apis-c.xml	2007-03-06 16:58:31 UTC (rev 5203)
Changed blocks: 2, Lines Added: 24, Lines Deleted: 17; 3212 bytes

@@ -1160,11 +1160,15 @@
       In a non-multi-threaded environment, the call to
       <literal>mysql_library_init()</literal> may be omitted, because
       <literal>mysql_init()</literal> will invoke it automatically as
-      necessary. However, in a multi-threaded environment, a race
-      condition is possible if <literal>mysql_library_init()</literal>
-      is invoked by <literal>mysql_init()</literal>:
-      <literal>mysql_library_init()</literal> is not thread-safe, so it
-      should be called prior to any other client library call.
+      necessary. However, <literal>mysql_library_init()</literal> is not
+      thread-safe in a multi-threaded environment, and thus neither is
+      <literal>mysql_init()</literal>, which calls
+      <literal>mysql_library_init()</literal>. You must either call
+      <literal>mysql_library_init()</literal> prior to spawning any
+      threads, or else use a mutex to protect the call, whether you
+      invoke <literal>mysql_library_init()</literal> or indirectly via
+      <literal>mysql_init()</literal>. This should be done prior to any
+      other client library call.
     </para>
 
     <para>

@@ -4041,24 +4045,27 @@
       </para>
 
       <para>
+        In a non-multi-threaded environment, the call to
+        <literal>mysql_library_init()</literal> may be omitted, because
+        <literal>mysql_init()</literal> will invoke it automatically as
+        necessary. However, <literal>mysql_library_init()</literal> is
+        not thread-safe in a multi-threaded environment, and thus
+        neither is <literal>mysql_init()</literal>, which calls
+        <literal>mysql_library_init()</literal>. You must either call
+        <literal>mysql_library_init()</literal> prior to spawning any
+        threads, or else use a mutex to protect the call, whether you
+        invoke <literal>mysql_library_init()</literal> or indirectly via
+        <literal>mysql_init()</literal>. This should be done prior to
+        any other client library call.
+      </para>
+
+      <para>
         After your application is done using the MySQL library, call
         <literal>mysql_library_end()</literal> to clean up. See
         <xref linkend="mysql-library-end"/>.
       </para>
 
       <para>
-        In a non-multi-threaded environment, the call to
-        <literal>mysql_library_init()</literal> may be omitted, because
-        <literal>mysql_init()</literal> will invoke it automatically as
-        necessary. However, in a multi-threaded environment, a race
-        condition is possible if <literal>mysql_library_init()</literal>
-        is invoked by <literal>mysql_init()</literal> because
-        <literal>mysql_library_init()</literal> is not thread-safe;
-        hence, it should be called prior to any other client library
-        call.
-      </para>
-
-      <para>
         The <literal>argc</literal> and <literal>argv</literal>
         arguments are analogous to the arguments to
         <literal>main()</literal>. The first element of


Modified: trunk/refman-5.0/apis-c.xml
===================================================================
--- trunk/refman-5.0/apis-c.xml	2007-03-06 16:57:36 UTC (rev 5202)
+++ trunk/refman-5.0/apis-c.xml	2007-03-06 16:58:31 UTC (rev 5203)
Changed blocks: 2, Lines Added: 24, Lines Deleted: 17; 3212 bytes

@@ -1159,11 +1159,15 @@
       In a non-multi-threaded environment, the call to
       <literal>mysql_library_init()</literal> may be omitted, because
       <literal>mysql_init()</literal> will invoke it automatically as
-      necessary. However, in a multi-threaded environment, a race
-      condition is possible if <literal>mysql_library_init()</literal>
-      is invoked by <literal>mysql_init()</literal>:
-      <literal>mysql_library_init()</literal> is not thread-safe, so it
-      should be called prior to any other client library call.
+      necessary. However, <literal>mysql_library_init()</literal> is not
+      thread-safe in a multi-threaded environment, and thus neither is
+      <literal>mysql_init()</literal>, which calls
+      <literal>mysql_library_init()</literal>. You must either call
+      <literal>mysql_library_init()</literal> prior to spawning any
+      threads, or else use a mutex to protect the call, whether you
+      invoke <literal>mysql_library_init()</literal> or indirectly via
+      <literal>mysql_init()</literal>. This should be done prior to any
+      other client library call.
     </para>
 
     <para>

@@ -4110,24 +4114,27 @@
       </para>
 
       <para>
+        In a non-multi-threaded environment, the call to
+        <literal>mysql_library_init()</literal> may be omitted, because
+        <literal>mysql_init()</literal> will invoke it automatically as
+        necessary. However, <literal>mysql_library_init()</literal> is
+        not thread-safe in a multi-threaded environment, and thus
+        neither is <literal>mysql_init()</literal>, which calls
+        <literal>mysql_library_init()</literal>. You must either call
+        <literal>mysql_library_init()</literal> prior to spawning any
+        threads, or else use a mutex to protect the call, whether you
+        invoke <literal>mysql_library_init()</literal> or indirectly via
+        <literal>mysql_init()</literal>. This should be done prior to
+        any other client library call.
+      </para>
+
+      <para>
         After your application is done using the MySQL library, call
         <literal>mysql_library_end()</literal> to clean up. See
         <xref linkend="mysql-library-end"/>.
       </para>
 
       <para>
-        In a non-multi-threaded environment, the call to
-        <literal>mysql_library_init()</literal> may be omitted, because
-        <literal>mysql_init()</literal> will invoke it automatically as
-        necessary. However, in a multi-threaded environment, a race
-        condition is possible if <literal>mysql_library_init()</literal>
-        is invoked by <literal>mysql_init()</literal> because
-        <literal>mysql_library_init()</literal> is not thread-safe;
-        hence, it should be called prior to any other client library
-        call.
-      </para>
-
-      <para>
         The <literal>argc</literal> and <literal>argv</literal>
         arguments are analogous to the arguments to
         <literal>main()</literal>. The first element of


Modified: trunk/refman-5.1/apis-c.xml
===================================================================
--- trunk/refman-5.1/apis-c.xml	2007-03-06 16:57:36 UTC (rev 5202)
+++ trunk/refman-5.1/apis-c.xml	2007-03-06 16:58:31 UTC (rev 5203)
Changed blocks: 2, Lines Added: 24, Lines Deleted: 17; 3212 bytes

@@ -1150,11 +1150,15 @@
       In a non-multi-threaded environment, the call to
       <literal>mysql_library_init()</literal> may be omitted, because
       <literal>mysql_init()</literal> will invoke it automatically as
-      necessary. However, in a multi-threaded environment, a race
-      condition is possible if <literal>mysql_library_init()</literal>
-      is invoked by <literal>mysql_init()</literal>:
-      <literal>mysql_library_init()</literal> is not thread-safe, so it
-      should be called prior to any other client library call.
+      necessary. However, <literal>mysql_library_init()</literal> is not
+      thread-safe in a multi-threaded environment, and thus neither is
+      <literal>mysql_init()</literal>, which calls
+      <literal>mysql_library_init()</literal>. You must either call
+      <literal>mysql_library_init()</literal> prior to spawning any
+      threads, or else use a mutex to protect the call, whether you
+      invoke <literal>mysql_library_init()</literal> or indirectly via
+      <literal>mysql_init()</literal>. This should be done prior to any
+      other client library call.
     </para>
 
     <para>

@@ -4179,24 +4183,27 @@
       </para>
 
       <para>
+        In a non-multi-threaded environment, the call to
+        <literal>mysql_library_init()</literal> may be omitted, because
+        <literal>mysql_init()</literal> will invoke it automatically as
+        necessary. However, <literal>mysql_library_init()</literal> is
+        not thread-safe in a multi-threaded environment, and thus
+        neither is <literal>mysql_init()</literal>, which calls
+        <literal>mysql_library_init()</literal>. You must either call
+        <literal>mysql_library_init()</literal> prior to spawning any
+        threads, or else use a mutex to protect the call, whether you
+        invoke <literal>mysql_library_init()</literal> or indirectly via
+        <literal>mysql_init()</literal>. This should be done prior to
+        any other client library call.
+      </para>
+
+      <para>
         After your application is done using the MySQL library, call
         <literal>mysql_library_end()</literal> to clean up. See
         <xref linkend="mysql-library-end"/>.
       </para>
 
       <para>
-        In a non-multi-threaded environment, the call to
-        <literal>mysql_library_init()</literal> may be omitted, because
-        <literal>mysql_init()</literal> will invoke it automatically as
-        necessary. However, in a multi-threaded environment, a race
-        condition is possible if <literal>mysql_library_init()</literal>
-        is invoked by <literal>mysql_init()</literal> because
-        <literal>mysql_library_init()</literal> is not thread-safe;
-        hence, it should be called prior to any other client library
-        call.
-      </para>
-
-      <para>
         The <literal>argc</literal> and <literal>argv</literal>
         arguments are analogous to the arguments to
         <literal>main()</literal>. The first element of


Thread
svn commit - mysqldoc@docsrva: r5203 - in trunk: . refman-4.1 refman-5.0 refman-5.1paul6 Mar