summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_debug.c
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-02-14 12:49:30 +0000
committerAndrey Hristov <andrey@php.net>2008-02-14 12:49:30 +0000
commit2d9d22395f1b26d2408fbf39c5c54e28c8619163 (patch)
tree26e387b6257c34951636e184a47a03f1871b41f0 /ext/mysqlnd/mysqlnd_debug.c
parent786746cb07c9830d0b690b231678c5f01c362ba6 (diff)
downloadphp-git-2d9d22395f1b26d2408fbf39c5c54e28c8619163.tar.gz
Update mysqlnd - fix bg_store
Diffstat (limited to 'ext/mysqlnd/mysqlnd_debug.c')
-rw-r--r--ext/mysqlnd/mysqlnd_debug.c46
1 files changed, 45 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd_debug.c b/ext/mysqlnd/mysqlnd_debug.c
index d2d2d3e72c..6a7f0cbdc2 100644
--- a/ext/mysqlnd/mysqlnd_debug.c
+++ b/ext/mysqlnd/mysqlnd_debug.c
@@ -95,6 +95,12 @@ MYSQLND_METHOD(mysqlnd_debug, log)(MYSQLND_DEBUG * self,
line_buffer[6], level_buffer[7];
MYSQLND_ZTS(self);
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ return PASS; /* don't trace background threads */
+ }
+#endif
+
if (!self->stream) {
if (FAIL == self->m->open(self, FALSE)) {
return FAIL;
@@ -195,6 +201,12 @@ MYSQLND_METHOD(mysqlnd_debug, log_va)(MYSQLND_DEBUG *self,
line_buffer[6], level_buffer[7];
MYSQLND_ZTS(self);
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ return PASS; /* don't trace background threads */
+ }
+#endif
+
if (!self->stream) {
if (FAIL == self->m->open(self, FALSE)) {
return FAIL;
@@ -291,9 +303,15 @@ MYSQLND_METHOD(mysqlnd_debug, func_enter)(MYSQLND_DEBUG * self,
unsigned int line, const char * const file,
char * func_name, uint func_name_len)
{
+ MYSQLND_ZTS(self);
if ((self->flags & MYSQLND_DEBUG_DUMP_TRACE) == 0 || self->file_name == NULL) {
return FALSE;
}
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ return FALSE; /* don't trace background threads */
+ }
+#endif
if (zend_stack_count(&self->call_stack) >= self->nest_level_limit) {
return FALSE;
}
@@ -303,7 +321,6 @@ MYSQLND_METHOD(mysqlnd_debug, func_enter)(MYSQLND_DEBUG * self,
func_name == mysqlnd_ecalloc_name || func_name == mysqlnd_pecalloc_name ||
func_name == mysqlnd_erealloc_name || func_name == mysqlnd_perealloc_name ||
func_name == mysqlnd_efree_name || func_name == mysqlnd_pefree_name ||
- func_name == mysqlnd_efree_name || func_name == mysqlnd_pefree_name ||
func_name == mysqlnd_malloc_name || func_name == mysqlnd_calloc_name ||
func_name == mysqlnd_realloc_name || func_name == mysqlnd_free_name ||
func_name == mysqlnd_palloc_zval_ptr_dtor_name || func_name == mysqlnd_palloc_get_zval_name ||
@@ -332,10 +349,16 @@ MYSQLND_METHOD(mysqlnd_debug, func_leave)(MYSQLND_DEBUG * self, unsigned int lin
const char * const file)
{
char *func_name;
+ MYSQLND_ZTS(self);
if ((self->flags & MYSQLND_DEBUG_DUMP_TRACE) == 0 || self->file_name == NULL) {
return PASS;
}
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ return PASS; /* don't trace background threads */
+ }
+#endif
if (zend_stack_count(&self->call_stack) >= self->nest_level_limit) {
return PASS;
}
@@ -644,6 +667,12 @@ void * _mysqlnd_emalloc(size_t size MYSQLND_MEM_D)
{
void *ret;
DBG_ENTER(mysqlnd_emalloc_name);
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ DBG_RETURN(_mysqlnd_pemalloc(size, 1 TSRMLS_CC ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC));
+ }
+#endif
+
DBG_INF_FMT("file=%-15s line=%4d", strrchr(__zend_filename, PHP_DIR_SEPARATOR) + 1, __zend_lineno);
DBG_INF_FMT("before: %lu", zend_memory_usage(FALSE TSRMLS_CC));
ret = emalloc(size);
@@ -691,6 +720,11 @@ void * _mysqlnd_ecalloc(uint nmemb, size_t size MYSQLND_MEM_D)
{
void *ret;
DBG_ENTER(mysqlnd_ecalloc_name);
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ DBG_RETURN(_mysqlnd_pecalloc(nmemb, size, 1 TSRMLS_CC ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC));
+ }
+#endif
DBG_INF_FMT("file=%-15s line=%4d", strrchr(__zend_filename, PHP_DIR_SEPARATOR) + 1, __zend_lineno);
DBG_INF_FMT("before: %lu", zend_memory_usage(FALSE TSRMLS_CC));
@@ -739,6 +773,11 @@ void * _mysqlnd_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D)
{
void *ret;
DBG_ENTER(mysqlnd_erealloc_name);
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ DBG_RETURN(_mysqlnd_perealloc(ptr, new_size, 1 TSRMLS_CC ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC));
+ }
+#endif
DBG_INF_FMT("file=%-15s line=%4d", strrchr(__zend_filename, PHP_DIR_SEPARATOR) + 1, __zend_lineno);
DBG_INF_FMT("ptr=%p new_size=%lu", ptr, new_size);
DBG_INF_FMT("before: %lu", zend_memory_usage(FALSE TSRMLS_CC));
@@ -788,6 +827,11 @@ void * _mysqlnd_perealloc(void *ptr, size_t new_size, zend_bool persistent MYSQL
void _mysqlnd_efree(void *ptr MYSQLND_MEM_D)
{
DBG_ENTER(mysqlnd_efree_name);
+#ifdef ZTS
+ if (MYSQLND_G(thread_id) != tsrm_thread_id()) {
+ DBG_RETURN(_mysqlnd_pefree(ptr, 1 TSRMLS_CC ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC));
+ }
+#endif
DBG_INF_FMT("file=%-15s line=%4d", strrchr(__zend_filename, PHP_DIR_SEPARATOR) + 1, __zend_lineno);
DBG_INF_FMT("ptr=%p", ptr);
DBG_INF_FMT("before: %lu", zend_memory_usage(FALSE TSRMLS_CC));