diff options
author | David Starks-Browning <starksb@ebi.ac.uk> | 2000-07-25 21:16:44 +0000 |
---|---|---|
committer | David Starks-Browning <starksb@ebi.ac.uk> | 2000-07-25 21:16:44 +0000 |
commit | 53d1fe2a5c02985794abc5e7d6ae37592d29eff9 (patch) | |
tree | 876233af4f687c95a86061b3f1c4f4e46f8a61ca /winsup/doc/how.texinfo | |
parent | 3637f333ed37f55498097494bffe4e8f2d4d60e3 (diff) | |
download | newlib-53d1fe2a5c02985794abc5e7d6ae37592d29eff9.zip newlib-53d1fe2a5c02985794abc5e7d6ae37592d29eff9.tar.gz newlib-53d1fe2a5c02985794abc5e7d6ae37592d29eff9.tar.bz2 |
Entry 'Is the Cygwin library multi-thread-safe?': Update for latest release.
Diffstat (limited to 'winsup/doc/how.texinfo')
-rw-r--r-- | winsup/doc/how.texinfo | 35 |
1 files changed, 5 insertions, 30 deletions
diff --git a/winsup/doc/how.texinfo b/winsup/doc/how.texinfo index dc65c87..d11f8c8 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? |