diff options
author | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-08-11 15:46:29 +0000 |
---|---|---|
committer | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-08-11 15:46:29 +0000 |
commit | 0f15f207c55ce70f46ebbd3be6c3d54763665084 (patch) | |
tree | d4cbbe278d8bb662e537d2b219246ee872cb20e6 /thread.h | |
parent | 12ca11f6c16e7b63e13bbf5bc251f214e8de5211 (diff) | |
download | perl-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.h | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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) |