Document the interaction of PERL_USE_SAVE_PUTENV and
Nicholas Clark [Sat, 27 Nov 2004 14:24:21 +0000 (14:24 +0000)]
PL_use_safe_putenv, based on text by Stas Bekman

p4raw-id: //depot/perl@23549

INSTALL

diff --git a/INSTALL b/INSTALL
index 69b446a..c7e0a06 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -657,6 +657,19 @@ architecture-dependent library for your -DDEBUGGING version of perl.
 You can do this by changing all the *archlib* variables in config.sh to
 point to your new architecture-dependent library.
 
+=head3 Environment access
+
+Perl often needs to write to the program's environment, such as when C<%ENV>
+is assigned to. Many implementations of the C library function C<putenv()>
+leak memory, so where possible perl will manipulate the environment directly
+to avoid these leaks. The default is now to perform direct manipulation
+whenever perl is running as a stand alone interpreter, and to call the safe
+but potentially leaky C<putenv()> function when the perl interpreter is
+embedded in another application. You can force perl to always use C<putenv()>
+by compiling with -DPERL_USE_SAVE_PUTENV. You can force an embedded perl to
+use direct manipulation by setting C<PL_use_safe_putenv = 0;> after the
+C<perl_construct()> call.
+
 =head2 Installation Directories
 
 The installation directories can all be changed by answering the