diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index 2ae989e3e5..8b38c3eccf 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -232,10 +232,10 @@ void ecpg_log(const char *format,...) { va_list ap; - struct sqlca_t *sqlca = ECPGget_sqlca(); const char *intl_format; int bufsize; char *fmt; + struct sqlca_t *sqlca; /* * For performance reasons, inspect simple_debug without taking the mutex. @@ -262,6 +262,8 @@ ecpg_log(const char *format,...) else snprintf(fmt, bufsize, "[%d]: %s", (int) getpid(), intl_format); + sqlca = ECPGget_sqlca(); + pthread_mutex_lock(&debug_mutex); /* Now that we hold the mutex, recheck simple_debug */