Add threadsafety caveats.
Jarkko Hietaniemi [Sun, 12 May 2002 19:48:40 +0000 (19:48 +0000)]
p4raw-id: //depot/perl@16564

ext/threads/threads.pm
pod/perldelta.pod
pod/perlthrtut.pod

index dfc8b8f..2851343 100755 (executable)
@@ -245,9 +245,6 @@ Helping with debugging.
 
 please join perl-ithreads@perl.org for more information
 
-
-
-
 =head1 SEE ALSO
 
 L<perl>, L<threads::shared>, L<perlcall>, L<perlembed>, L<perlguts>
index 9ae5970..ad36f01 100644 (file)
@@ -2739,6 +2739,12 @@ One cannot call Perl using the C<volume:> syntax, that is, C<perl -v>
 works, but for example C<bin:perl -v> doesn't.  The exact reason isn't
 known but the current suspect is the F<ixemul> library.
 
+=head2 ext/threads/t/libc
+
+If this test fails, it indicates that your libc (C library) is not
+threadsafe.  This particular test stress tests the localtime() call to
+find out whether it is threadsafe.  See L<perlthrtut> for more information.
+
 =head2 FreeBSD Failing locale Test 117 For ISO8859-15 Locales
 
 The ISO8859-15 locales may fail the locale test 117 in FreeBSD.
index 8bcbf24..6a47e10 100644 (file)
@@ -955,6 +955,16 @@ be little different than ordinary code.
 Also note that under the current implementation, shared variables
 use a little more memory and are a little slower than ordinary variables.
 
+=head1 Threadsafety of System Libraries
+
+Whether various library calls are threadsafe is outside the control
+of Perl.  Calls often suffering from not being threadsafe include
+localtime(), gmtime(), get{gr,host,net,proto,serv,pw}*(), readdir(),
+rand(), srand().  If the system Perl is compiled in has threadsafe
+variants of these calls, they will be used, but besides that, Perl is
+at the mercy of the thread safety or unsafety of the calls.  Please
+consult your C library call documentation.
+
 =head1 Conclusion
 
 A complete thread tutorial could fill a book (and has, many times),