aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2002-06-04 12:12:08 +0000
committerMarcus Brinkmann <[email protected]>2002-06-04 12:12:08 +0000
commite202b91008e15e3e7ebd2e3858d4c634a1265050 (patch)
tree9926249efa2ec54ea63aa68ad9c00ce63c4d9485
parent2002-06-04 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-e202b91008e15e3e7ebd2e3858d4c634a1265050.tar.gz
gpgme-e202b91008e15e3e7ebd2e3858d4c634a1265050.zip
2002-06-04 Marcus Brinkmann <[email protected]>
* gpgme.texi (Multi Threading): Document new autodetection.
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gpgme.texi41
2 files changed, 36 insertions, 9 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 8e3fc216..58b37994 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,5 +1,9 @@
2002-06-04 Marcus Brinkmann <[email protected]>
+ * gpgme.texi (Multi Threading): Document new autodetection.
+
+2002-06-04 Marcus Brinkmann <[email protected]>
+
* Makefile.am (DISTCLEANFILES): New variable.
2002-05-26 Marcus Brinkmann <[email protected]>
diff --git a/doc/gpgme.texi b/doc/gpgme.texi
index 67e496ec..6f64e454 100644
--- a/doc/gpgme.texi
+++ b/doc/gpgme.texi
@@ -451,16 +451,39 @@ conditions to worry about:
@itemize @bullet
@item
+@acronym{GPGME} supports the thread libraries pthread and GNU Pth.
+The support for this has to be enabled at compile time.
+@acronym{GPGME} will automatically detect the location in which the
+thread libraries are installed and activate the support for them.
+
+Support for other thread libraries is very easy to add. Please
+contact us if you have the need.
+
+@item
+If you link your program dynamically to @acronym{GPGME} and your
+supported thread library, @acronym{GPGME} will automatically detect
+the presence of this library and activate its use. If you link to
+both pthread and GNU Pth, @acronym{GPGME} will use the pthread
+support. This feature requires weak symbol support.
+
+@item
+If you link your program statically to @acronym{GPGME}, there is
+currently no easy way to make sure that @acronym{GPGME} detects the
+presence of the thread library. This will be solved in a future
+version.
+
+@item
The function @code{gpgme_check_version} must be called before any
-other function in the library, because it initializes the locking
-subsystem in @acronym{GPGME}. To achieve this in all generality, it
-is necessary to synchronize the call to this function with all other
-calls to functions in the library, using the synchronization
-mechanisms available in your thread library. Otherwise, specific
-compiler or CPU memory cache optimizations could lead to the situation
-where a thread is started and uses @acronym{GPGME} before the effects
-of the initialization are visible for this thread. It doesn't even
-suffice to call @code{gpgme_check_version} before creating this other
+other function in the library, because it initializes the thread
+support subsystem in @acronym{GPGME}. To achieve this in all
+generality, it is necessary to synchronize the call to this function
+with all other calls to functions in the library, using the
+synchronization mechanisms available in your thread library.
+Otherwise, specific compiler or CPU memory cache optimizations could
+lead to the situation where a thread is started and uses
+@acronym{GPGME} before the effects of the initialization are visible
+for this thread. It doesn't even suffice to call
+@code{gpgme_check_version} before creating this other
thread@footnote{In SMP systems the new thread could be started on
another CPU before the effects of the initialization are seen by that
CPU's memory cache. Not doing proper synchronization here leads to