summaryrefslogtreecommitdiff
path: root/TSRM/TSRM.h
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2005-04-27 22:19:54 +0000
committerWez Furlong <wez@php.net>2005-04-27 22:19:54 +0000
commit6d978a62f1b69760870524fcf2f3900063d35ced (patch)
tree89bed8d6878b1352394177e6fa98d7654e869e0b /TSRM/TSRM.h
parent396acbf64c9b4bcd312fdbad70741493a1b1d9b6 (diff)
downloadphp-git-6d978a62f1b69760870524fcf2f3900063d35ced.tar.gz
Add three new TSRM api functions:
TSRM_API void *tsrm_new_interpreter_context(void); TSRM_API void *tsrm_set_interpreter_context(void *new_ctx); TSRM_API void tsrm_free_interpreter_context(void *context); These can be used, with a suitable SAPI, to host multiple interpreters on the same thread.
Diffstat (limited to 'TSRM/TSRM.h')
-rw-r--r--TSRM/TSRM.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h
index a66353b88f..cbc9cf81c7 100644
--- a/TSRM/TSRM.h
+++ b/TSRM/TSRM.h
@@ -132,6 +132,12 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp);
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler);
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler);
+/* these 3 APIs should only be used by people that fully understand the threading model
+ * used by PHP/Zend and the selected SAPI. */
+TSRM_API void *tsrm_new_interpreter_context(void);
+TSRM_API void *tsrm_set_interpreter_context(void *new_ctx);
+TSRM_API void tsrm_free_interpreter_context(void *context);
+
#define TSRM_SHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)+1)
#define TSRM_UNSHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)-1)