summaryrefslogtreecommitdiff
path: root/thread.h
diff options
context:
space:
mode:
authorMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-08-11 15:46:29 +0000
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-08-11 15:46:29 +0000
commit0f15f207c55ce70f46ebbd3be6c3d54763665084 (patch)
treed4cbbe278d8bb662e537d2b219246ee872cb20e6 /thread.h
parent12ca11f6c16e7b63e13bbf5bc251f214e8de5211 (diff)
downloadperl-0f15f207c55ce70f46ebbd3be6c3d54763665084.tar.gz
Assorted changes for multi-threading (now works rather more).
p4raw-id: //depot/perl@44
Diffstat (limited to 'thread.h')
-rw-r--r--thread.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/thread.h b/thread.h
index 8bef7a57a0..655851de74 100644
--- a/thread.h
+++ b/thread.h
@@ -139,12 +139,13 @@ struct thread {
int Tdelaymagic;
bool Tdirty;
U8 Tlocalizing;
+ COP * Tcurcop;
CONTEXT * Tcxstack;
I32 Tcxstack_ix;
I32 Tcxstack_max;
- AV * Tstack;
+ AV * Tcurstack;
AV * Tmainstack;
JMPENV * Ttop_env;
I32 Trunlevel;
@@ -160,6 +161,7 @@ struct thread {
perl_thread next_run, prev_run; /* Linked list of runnable threads */
perl_cond wait_queue; /* Wait queue that we are waiting on */
IV private; /* Holds data across time slices */
+ I32 savemark; /* Holds MARK for thread join values */
#endif /* FAKE_THREADS */
};
@@ -195,7 +197,7 @@ typedef struct condpair {
#undef stack_base
#undef stack_sp
#undef stack_max
-#undef stack
+#undef curstack
#undef mainstack
#undef markstack
#undef markstack_ptr
@@ -209,6 +211,7 @@ typedef struct condpair {
#undef retstack
#undef retstack_ix
#undef retstack_max
+#undef curcop
#undef cxstack
#undef cxstack_ix
#undef cxstack_max
@@ -233,6 +236,7 @@ typedef struct condpair {
#undef op
#define op (thr->Top)
#endif
+#define curcop (thr->Tcurcop)
#define stack (thr->Tstack)
#define mainstack (thr->Tmainstack)
#define markstack (thr->Tmarkstack)