summaryrefslogtreecommitdiff
path: root/TSRM/TSRM.h
diff options
context:
space:
mode:
authorSebastian Bergmann <sebastian@php.net>2003-06-25 05:05:06 +0000
committerSebastian Bergmann <sebastian@php.net>2003-06-25 05:05:06 +0000
commit60ffd0ea5d224697ae09386cb643e2738d95fa4f (patch)
treeff2e0f626d1eb27bb32627ded497df13fd4c159d /TSRM/TSRM.h
parent926bd5cf2924ff51fa5e6a1a3fe858925aa1ead2 (diff)
downloadphp-git-60ffd0ea5d224697ae09386cb643e2738d95fa4f.tar.gz
Restore HEAD of TSRM to what it was two days ago.
Diffstat (limited to 'TSRM/TSRM.h')
-rw-r--r--TSRM/TSRM.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h
index a80500d6db..09da7b49cb 100644
--- a/TSRM/TSRM.h
+++ b/TSRM/TSRM.h
@@ -37,10 +37,17 @@
#ifdef ZTS
#ifdef TSRM_WIN32
+# ifndef TSRM_INCLUDE_FULL_WINDOWS_HEADERS
+# define WIN32_LEAN_AND_MEAN
+# endif
# include <windows.h>
#elif defined(NETWARE)
# include <nks/thread.h>
+#ifdef USE_MPK
+# include <mpklib4php.h>
+#else
# include <nks/synch.h>
+#endif
#elif defined(GNUPTH)
# include <pth.h>
#elif defined(PTHREADS)
@@ -60,7 +67,11 @@ typedef int ts_rsrc_id;
# define MUTEX_T CRITICAL_SECTION *
#elif defined(NETWARE)
# define THREAD_T NXThreadId_t
+#ifdef USE_MPK
+# define MUTEX_T MUTEX
+#else
# define MUTEX_T NXMutex_t *
+#endif
#elif defined(GNUPTH)
# define THREAD_T pth_t
# define MUTEX_T pth_mutex_t *
@@ -138,6 +149,8 @@ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread
#define TSRM_UNSHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)-1)
#define TSRMLS_FETCH() void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL)
+#define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = (void ***) ctx
+#define TSRMLS_SET_CTX(ctx) (void ***) ctx = tsrm_ls
#define TSRMG(id, type, element) (((type) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
#define TSRMLS_D void ***tsrm_ls
#define TSRMLS_DC , TSRMLS_D
@@ -151,6 +164,8 @@ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread
#else /* non ZTS */
#define TSRMLS_FETCH()
+#define TSRMLS_FETCH_FROM_CTX(ctx)
+#define TSRMLS_SET_CTX(ctx)
#define TSRMLS_D void
#define TSRMLS_DC
#define TSRMLS_C