summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-06-24 13:32:42 +0000
committerNicholas Clark <nick@ccl4.org>2007-06-24 13:32:42 +0000
commitcb23d5b19261a41b403a114d55551ddac48af175 (patch)
treefdc6ba405a11a0f6c2bb413d26384fd2ef0ff047 /sv.h
parenteb09884a77f2a131d904860f31391bb631b3c417 (diff)
downloadperl-cb23d5b19261a41b403a114d55551ddac48af175.tar.gz
Also get copy on write working with ithreads. It hadn't been working
since change 26684 (which uses sv_setsv_flags to copy a value from an SV in one interpreter context to an SV in another), despite what change 31120 thought. ext/Compress/Raw/Zlib/t/07bufsize.t still fails. p4raw-id: //depot/perl@31454
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sv.h b/sv.h
index 54f319d68e..8ad522dcca 100644
--- a/sv.h
+++ b/sv.h
@@ -1839,13 +1839,15 @@ Like C<sv_catsv> but doesn't process magic.
#define SV_SMAGIC 128
#define SV_HAS_TRAILING_NUL 256
#define SV_COW_SHARED_HASH_KEYS 512
+/* This one is only enabled for PERL_OLD_COPY_ON_WRITE */
+#define SV_COW_OTHER_PVS 1024
/* The core is safe for this COW optimisation. XS code on CPAN may not be.
So only default to doing the COW setup if we're in the core.
*/
#ifdef PERL_CORE
# ifndef SV_DO_COW_SVSETSV
-# define SV_DO_COW_SVSETSV SV_COW_SHARED_HASH_KEYS
+# define SV_DO_COW_SVSETSV SV_COW_SHARED_HASH_KEYS|SV_COW_OTHER_PVS
# endif
#endif