summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2004-11-27 14:24:21 +0000
committerNicholas Clark <nick@ccl4.org>2004-11-27 14:24:21 +0000
commit575e1338b8c2d1828cc5b364a6c4e723163fec93 (patch)
tree5afc73e4ee2a7c8d35edae54c490f27b564e17a2 /INSTALL
parentbe3918a2fa43bbcf3d92d45dbf71aedf56fddfa7 (diff)
downloadperl-575e1338b8c2d1828cc5b364a6c4e723163fec93.tar.gz
Document the interaction of PERL_USE_SAVE_PUTENV and
PL_use_safe_putenv, based on text by Stas Bekman p4raw-id: //depot/perl@23549
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL13
1 files changed, 13 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
index 69b446adfb..c7e0a06873 100644
--- 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