diff options
author | Andrey Hristov <andrey@php.net> | 2008-02-14 12:49:30 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2008-02-14 12:49:30 +0000 |
commit | 2d9d22395f1b26d2408fbf39c5c54e28c8619163 (patch) | |
tree | 26e387b6257c34951636e184a47a03f1871b41f0 /ext/mysqlnd/mysqlnd_debug.c | |
parent | 786746cb07c9830d0b690b231678c5f01c362ba6 (diff) | |
download | php-git-2d9d22395f1b26d2408fbf39c5c54e28c8619163.tar.gz |
Update mysqlnd - fix bg_store
Diffstat (limited to 'ext/mysqlnd/mysqlnd_debug.c')
-rw-r--r-- | ext/mysqlnd/mysqlnd_debug.c | 46 |
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)); |