summaryrefslogtreecommitdiff
path: root/thread.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1997-11-10 00:57:53 +0000
committerGurusamy Sarathy <gsar@cpan.org>1997-11-10 00:57:53 +0000
commitd55594aef6b1fb9e305275c3d19a25e4cdfb2cda (patch)
treef7d6379858b9595f060beee6161b43a373132fe9 /thread.h
parent5cb186c2cd2ac09e46b98e7cfd9fde70c8a3481c (diff)
downloadperl-d55594aef6b1fb9e305275c3d19a25e4cdfb2cda.tar.gz
Initial (untested) merge of all non-ansi changes on ansiperl branch
into win32 branch. p4raw-id: //depot/win32/perl@221
Diffstat (limited to 'thread.h')
-rw-r--r--thread.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/thread.h b/thread.h
index 305155c3ff..f18b38b797 100644
--- a/thread.h
+++ b/thread.h
@@ -1,8 +1,8 @@
#ifdef USE_THREADS
#ifdef WIN32
-# include "win32/win32thread.h"
-#endif
+# include <win32thread.h>
+#else
/* POSIXish threads */
typedef pthread_t perl_thread;
@@ -23,6 +23,7 @@ typedef pthread_t perl_thread;
# define pthread_condattr_default NULL
# define pthread_attr_default NULL
#endif /* OLD_PTHREADS_API */
+#endif
#ifndef YIELD
# define YIELD sched_yield()
@@ -127,6 +128,7 @@ struct thread *getTHR _((void));
# endif
#endif
+
#ifndef THREAD_RET_TYPE
# define THREAD_RET_TYPE void *
# define THREAD_RET_CAST(p) ((void *)(p))
@@ -222,7 +224,7 @@ struct thread {
perl_mutex mutex; /* For the fields others can change */
U32 tid;
struct thread *next, *prev; /* Circular linked list of threads */
-
+ JMPENV Tstart_env; /* Top of top_env longjmp() chain */
#ifdef ADD_THREAD_INTERN
struct thread_intern i; /* Platform-dependent internals */
#endif
@@ -305,6 +307,7 @@ typedef struct condpair {
#undef chopset
#undef formtarget
#undef bodytarget
+#undef start_env
#undef toptarget
#undef top_env
#undef runlevel
@@ -380,6 +383,7 @@ typedef struct condpair {
#define top_env (thr->Ttop_env)
#define runlevel (thr->Trunlevel)
+#define start_env (thr->Tstart_env)
#else
/* USE_THREADS is not defined */