summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TSRM/TSRM.c15
-rw-r--r--TSRM/TSRM.h1
-rw-r--r--ext/standard/info.c1
3 files changed, 17 insertions, 0 deletions
diff --git a/TSRM/TSRM.c b/TSRM/TSRM.c
index 72a57f5d5f..9451ed1731 100644
--- a/TSRM/TSRM.c
+++ b/TSRM/TSRM.c
@@ -781,6 +781,21 @@ TSRM_API uint8_t tsrm_is_main_thread(void)
return in_main_thread;
}/*}}}*/
+TSRM_API const char *tsrm_api_name(void)
+{/*{{{*/
+#if defined(GNUPTH)
+ return "GNU Pth";
+#elif defined(PTHREADS)
+ return "POSIX Threads";
+#elif defined(TSRM_ST)
+ return "State Threads";
+#elif defined(TSRM_WIN32)
+ return "Windows Threads";
+#else
+ return "Unknown";
+#endif
+}/*}}}*/
+
#endif /* ZTS */
/*
diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h
index 9ba9919812..2ab1f44ced 100644
--- a/TSRM/TSRM.h
+++ b/TSRM/TSRM.h
@@ -143,6 +143,7 @@ TSRM_API void tsrm_free_interpreter_context(void *context);
TSRM_API void *tsrm_get_ls_cache(void);
TSRM_API uint8_t tsrm_is_main_thread(void);
+TSRM_API const char *tsrm_api_name(void);
#if defined(__cplusplus) && __cplusplus > 199711L
# define TSRM_TLS thread_local
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 3d920b6461..d71ddd64b8 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -870,6 +870,7 @@ PHPAPI void php_print_info(int flag)
#ifdef ZTS
php_info_print_table_row(2, "Thread Safety", "enabled" );
+ php_info_print_table_row(2, "Thread API", tsrm_api_name() );
#else
php_info_print_table_row(2, "Thread Safety", "disabled" );
#endif