]> git.vpit.fr Git - perl/modules/Lexical-Types.git/blobdiff - Types.xs
Switch to qw<>
[perl/modules/Lexical-Types.git] / Types.xs
index 27d5d435dde1c9650d9af67167d4325dba9f0eca..8367cba9949c64a39938be2d0c7a47e5a8ec98c2 100644 (file)
--- a/Types.xs
+++ b/Types.xs
 
 /* ... Thread safety and multiplicity ...................................... */
 
+/* Safe unless stated otherwise in Makefile.PL */
+#ifndef LT_FORKSAFE
+# define LT_FORKSAFE 1
+#endif
+
 #ifndef LT_MULTIPLICITY
 # if defined(MULTIPLICITY) || defined(PERL_IMPLICIT_CONTEXT)
 #  define LT_MULTIPLICITY 1
@@ -147,6 +152,11 @@ typedef SV lt_hint_t;
 
 #include "ptable.h"
 
+/* PerlMemShared_free() needs the [ap]PTBLMS_? default values */
+#define ptable_seen_store(T, K, V) ptable_seen_store(aPTBLMS_ (T), (K), (V))
+#define ptable_seen_clear(T)       ptable_seen_clear(aPTBLMS_ (T))
+#define ptable_seen_free(T)        ptable_seen_free(aPTBLMS_ (T))
+
 #endif /* !LT_HAS_RPEEP */
 
 /* ... Global data ......................................................... */
@@ -369,6 +379,7 @@ STATIC SV *lt_hint(pTHX) {
 
 /* PerlMemShared_free() needs the [ap]PTBLMS_? default values */
 #define ptable_map_store(T, K, V) ptable_map_store(aPTBLMS_ (T), (K), (V))
+#define ptable_map_delete(T, K)   ptable_map_delete(aPTBLMS_ (T), (K))
 
 STATIC ptable *lt_op_map = NULL;
 
@@ -833,6 +844,7 @@ BOOT:
 
   stash = gv_stashpvn(__PACKAGE__, __PACKAGE_LEN__, 1);
   newCONSTSUB(stash, "LT_THREADSAFE", newSVuv(LT_THREADSAFE));
+  newCONSTSUB(stash, "LT_FORKSAFE",   newSVuv(LT_FORKSAFE));
  }
 
  lt_setup();