Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Starks-Browning <starksb@ebi.ac.uk>2000-07-26 01:16:44 +0400
committerDavid Starks-Browning <starksb@ebi.ac.uk>2000-07-26 01:16:44 +0400
commit53d1fe2a5c02985794abc5e7d6ae37592d29eff9 (patch)
tree876233af4f687c95a86061b3f1c4f4e46f8a61ca
parent3637f333ed37f55498097494bffe4e8f2d4d60e3 (diff)
Entry 'Is the Cygwin library multi-thread-safe?': Update for latest release.
-rw-r--r--winsup/doc/how.texinfo35
1 files changed, 5 insertions, 30 deletions
diff --git a/winsup/doc/how.texinfo b/winsup/doc/how.texinfo
index dc65c87a4..d11f8c8df 100644
--- a/winsup/doc/how.texinfo
+++ b/winsup/doc/how.texinfo
@@ -624,37 +624,12 @@ Explanation adapted from mailing list email by Earnie Boyd
@subsection Is the Cygwin library multi-thread-safe?
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-No.
-
-There is an experimental configure option (--enable-threadsafe), which
-allows you to build a DLL with some additional "thread safety" but there
-are no guarantees that this is 100% operational. This option also
-enables limited "POSIX thread" support. See the file cygwin.din for the
-list of POSIX thread functions provided.
-
-Cygnus does not distribute a DLL with this option enabled, and,
-currently, has no plans to do so.
-
-Cygwin is not multi-thread-safe because:
-
-1) Newlib (out libc/libm) isn't reentrant (although it almost is).
-This would have to be fixed or we would have to switch to a libc/libm
-that is reentrant.
-
-2) Cygwin locks shared memory areas (shared by multiple processes),
-but the per-process data is not locked. Thus, different threads in a
-multi-threaded application would have access to it and give rise to
-nasty race-conditions.
+Multi-thread-safe support is turned on by default in 1.1.x releases
+(i.e., in the latest net release). That does not mean that it is bug
+free!
-The Mingw package (what you get when you invoke gcc with -mno-cygwin) is
-multi-thread-safe because that configuration doesn't use Cygwin or
-newlib. Instead, it uses Microsoft libraries which are
-multi-thread-safe for the most part. So as long as the programmer
-avoids Microsoft APIs that aren't multi-thread-safe (most are ok), they
-should be fine.
+There is also limited support for 'POSIX threads', see the file
+@code{cygwin.din} for the list of POSIX thread functions provided.
@subsection Why is some functionality only supported in Windows NT?