"weak" references internals, still needs perlguts documentation
[p5sagit/p5-mst-13.2.git] / README.threads
index 8357056..136b156 100644 (file)
@@ -1,3 +1,10 @@
+NOTE
+
+Threading is a highly experimental feature.  There are still a 
+few race conditions that show up under high contention on SMP
+machines.  Internal implementation is still subject to changes.
+It is not recommended for production use at this time.
+
 Building
 
 If you want to build with multi-threading support and you are
@@ -8,6 +15,8 @@ running one of the following:
 
   * Digital UNIX 4.x
 
+  * Digital UNIX 3.x (Formerly DEC OSF/1), see additional note below
+
   * Solaris 2.x for recentish x (2.5 is OK)
 
   * IRIX 6.2 or newer. 6.2 will require a few os patches.
@@ -25,7 +34,8 @@ work or you are using another platform which you believe supports
 POSIX.1c threads then read on.  Additional information may be in
 a platform-specific "hints" file in the hints/ subdirectory.
 
-Omit the -d from your ./Configure arguments. For example, use
+On other platforms that use Configure to build perl, omit the -d
+from your ./Configure arguments. For example, use:
 
     ./Configure -Dusethreads
 
@@ -59,6 +69,14 @@ For Digital Unix 4.x:
        Zap mallocobj and mallocsrc (foo='')
        Change d_mymalloc to undef
 
+For Digital Unix 3.x (Formerly DEC OSF/1):
+    Add -DOLD_PTHREADS_API to ccflags
+    If compiling with the GNU cc compiler, remove -thread from ccflags
+
+    (The following should be done automatically if you call Configure
+      with the -Dusethreads option).
+    Add -lpthread -lmach -lc_r to libs (in the order specified).
+
 For IRIX:
     (This should all be done automatically by the hint file).
     Add -lpthread to libs
@@ -82,6 +100,10 @@ For AIX:
     Add -lc_r to libswanted
     Change -lc in lddflags to be -lpthread -lc_r -lc
 
+For Win32:
+    See README.win32, and the notes at the beginning of win32/Makefile
+    or win32/makefile.mk.
+
 Now you can do a
     make
 
@@ -137,11 +159,8 @@ libraries were not compiled to be thread-aware).
 Bugs
 
 * FAKE_THREADS should produce a working perl but the Thread
-extension won't build with it yet.
-
-* There's a known memory leak (curstack isn't freed at the end
-of each thread because it causes refcount problems that I
-haven't tracked down yet) and there are very probably others too.
+extension won't build with it yet.  (FAKE_THREADS has not been
+tested at all in recent times.)
 
 * There may still be races where bugs show up under contention.
 
@@ -265,3 +284,6 @@ Last updated: 27 November 1997
 
 Configure-related info updated 16 July 1998 by
 Andy Dougherty <doughera@lafayette.edu>
+
+Other minor updates 10 Feb 1999 by
+Gurusamy Sarathy