Upgrade to Devel::PPPort 3.18_01
[p5sagit/p5-mst-13.2.git] / ext / Time-Piece / Piece.pm
index d49d72b..302114f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Piece.pm 76 2008-03-02 20:15:09Z matt $
+# $Id: Piece.pm 81 2009-05-09 02:31:43Z matt $
 
 package Time::Piece;
 
@@ -22,7 +22,7 @@ our %EXPORT_TAGS = (
     ':override' => 'internal',
     );
 
-our $VERSION = '1.13_03';
+our $VERSION = '1.14_01';
 
 bootstrap Time::Piece $VERSION;
 
@@ -820,6 +820,24 @@ including the ':override' tag in the import list:
 
     use Time::Piece ':override';
 
+=head1 CAVEATS
+
+=head2 Setting $ENV{TZ} in Threads on Win32
+
+Note that when using perl in the default build configuration on Win32
+(specifically, when perl is built with PERL_IMPLICIT_SYS), each perl
+interpreter maintains its own copy of the environment and only the main
+interpreter will update the process environment seen by strftime.
+
+Therefore, if you make changes to $ENV{TZ} from inside a thread other than
+the main thread then those changes will not be seen by strftime if you
+subsequently call that with the %Z formatting code. You must change $ENV{TZ}
+in the main thread to have the desired effect in this case (and you must
+also call _tzset() in the main thread to register the environment change).
+
+Furthermore, remember that this caveat also applies to fork(), which is
+emulated by threads on Win32.
+
 =head1 AUTHOR
 
 Matt Sergeant, matt@sergeant.org