summaryrefslogtreecommitdiff
path: root/cv.h
diff options
context:
space:
mode:
authorMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-05-26 20:10:42 +0000
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-05-26 20:10:42 +0000
commit5dc0d6134ebb76636f69238201dde15cec972fd0 (patch)
tree3f466c13b594ff662ce13454c90ecf35572088ea /cv.h
parent5bc6513ddd9360f3cbfa6bf29425e38b658230f5 (diff)
parent9ed32d99bcab50ff8df392e9741dd3de08a596a4 (diff)
downloadperl-5dc0d6134ebb76636f69238201dde15cec972fd0.tar.gz
Integrate thrperl 5.003->5.004.
p4raw-id: //depot/perl@24
Diffstat (limited to 'cv.h')
-rw-r--r--cv.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/cv.h b/cv.h
index 262d44c635..97dfeb6f6d 100644
--- a/cv.h
+++ b/cv.h
@@ -28,6 +28,11 @@ struct xpvcv {
long xcv_depth; /* >= 2 indicates recursive call */
AV * xcv_padlist;
CV * xcv_outside;
+#ifdef USE_THREADS
+ pthread_mutex_t * xcv_mutexp;
+ pthread_cond_t * xcv_condp; /* signalled when owner leaves CV */
+ struct thread * xcv_owner; /* current owner thread */
+#endif /* USE_THREADS */
U8 xcv_flags;
};
@@ -43,6 +48,11 @@ struct xpvcv {
#define CvDEPTH(sv) ((XPVCV*)SvANY(sv))->xcv_depth
#define CvPADLIST(sv) ((XPVCV*)SvANY(sv))->xcv_padlist
#define CvOUTSIDE(sv) ((XPVCV*)SvANY(sv))->xcv_outside
+#ifdef USE_THREADS
+#define CvMUTEXP(sv) ((XPVCV*)SvANY(sv))->xcv_mutexp
+#define CvCONDP(sv) ((XPVCV*)SvANY(sv))->xcv_condp
+#define CvOWNER(sv) ((XPVCV*)SvANY(sv))->xcv_owner
+#endif /* USE_THREADS */
#define CvFLAGS(sv) ((XPVCV*)SvANY(sv))->xcv_flags
#define CVf_CLONE 0x01 /* anon CV uses external lexicals */