Changes to allow compiler with gcc-2.8.1 in C++ mode,
[p5sagit/p5-mst-13.2.git] / cv.h
diff --git a/cv.h b/cv.h
index d5ffdc2..b768f63 100644 (file)
--- a/cv.h
+++ b/cv.h
@@ -30,7 +30,7 @@ struct xpvcv {
     CV *       xcv_outside;
 #ifdef USE_THREADS
     perl_mutex *xcv_mutexp;
-    struct thread *xcv_owner;  /* current owner thread */
+    struct perl_thread *xcv_owner;     /* current owner thread */
 #endif /* USE_THREADS */
     cv_flags_t xcv_flags;
 };
@@ -61,7 +61,8 @@ struct xpvcv {
 #define CVf_NODEBUG    0x0020  /* no DB::sub indirection for this CV
                                   (esp. useful for special XSUBs) */
 #define CVf_METHOD     0x0040  /* CV is explicitly marked as a method */
-#define CVf_LOCKED     0x0080  /* CV locks itself or first arg on entry */
+#define CVf_LOCKED     0x0080  /* CV locks itself, package or first arg on entry */
+#define CVf_PACKAGE    0x0100  /* CV locks package on entry */
 
 #define CvCLONE(cv)            (CvFLAGS(cv) & CVf_CLONE)
 #define CvCLONE_on(cv)         (CvFLAGS(cv) |= CVf_CLONE)
@@ -94,3 +95,8 @@ struct xpvcv {
 #define CvLOCKED(cv)           (CvFLAGS(cv) & CVf_LOCKED)
 #define CvLOCKED_on(cv)                (CvFLAGS(cv) |= CVf_LOCKED)
 #define CvLOCKED_off(cv)       (CvFLAGS(cv) &= ~CVf_LOCKED)
+
+#define CvPACKAGE(cv)          (CvFLAGS(cv) & CVf_PACKAGE)
+#define CvPACKAGE_on(cv)       (CvFLAGS(cv) |= CVf_PACKAGE)
+#define CvPACKAGE_off(cv)      (CvFLAGS(cv) &= ~CVf_PACKAGE)
+