diff options
author | unknown <sasha@mysql.sashanet.com> | 2001-08-09 18:18:35 -0600 |
---|---|---|
committer | unknown <sasha@mysql.sashanet.com> | 2001-08-09 18:18:35 -0600 |
commit | e415d5620181913d069cefc758ea84f0bf8d3933 (patch) | |
tree | ef356717f6d0370ce9cb3c9ec480c5b8f87cf977 /sql/log_event.cc | |
parent | a56931ee187f532fba8f60ba60360952e6a0e761 (diff) | |
parent | 473bdc7893c97be6a76e7db980131053002f77e4 (diff) | |
download | mariadb-git-e415d5620181913d069cefc758ea84f0bf8d3933.tar.gz |
Merge work:/home/bk/mysql
into mysql.sashanet.com:/home/sasha/src/bk/mysql
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r-- | sql/log_event.cc | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index ac985c266c8..1263d361b7f 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -111,18 +111,29 @@ int Log_event::read_log_event(IO_CACHE* file, String* packet, #endif // MYSQL_CLIENT -// allocates memory - the caller is responsible for clean-up +#ifndef MYSQL_CLIENT +#define UNLOCK_MUTEX if(log_lock) pthread_mutex_unlock(log_lock); +#else +#define UNLOCK_MUTEX +#endif +// allocates memory - the caller is responsible for clean-up +#ifndef MYSQL_CLIENT Log_event* Log_event::read_log_event(IO_CACHE* file, pthread_mutex_t* log_lock) +#else +Log_event* Log_event::read_log_event(IO_CACHE* file) +#endif { time_t timestamp; uint32 server_id; char buf[LOG_EVENT_HEADER_LEN-4]; +#ifndef MYSQL_CLIENT if(log_lock) pthread_mutex_lock(log_lock); +#endif if (my_b_read(file, (byte *) buf, sizeof(buf))) { - if (log_lock) pthread_mutex_unlock(log_lock); + UNLOCK_MUTEX return NULL; } timestamp = uint4korr(buf); @@ -133,7 +144,7 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, pthread_mutex_t* log_lock) case QUERY_EVENT: { Query_log_event* q = new Query_log_event(file, timestamp, server_id); - if(log_lock) pthread_mutex_unlock(log_lock); + UNLOCK_MUTEX if (!q->query) { delete q; @@ -145,7 +156,7 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, pthread_mutex_t* log_lock) case LOAD_EVENT: { Load_log_event* l = new Load_log_event(file, timestamp, server_id); - if(log_lock) pthread_mutex_unlock(log_lock); + UNLOCK_MUTEX if (!l->table_name) { delete l; @@ -158,8 +169,7 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, pthread_mutex_t* log_lock) case ROTATE_EVENT: { Rotate_log_event* r = new Rotate_log_event(file, timestamp, server_id); - if(log_lock) pthread_mutex_unlock(log_lock); - + UNLOCK_MUTEX if (!r->new_log_ident) { delete r; @@ -171,8 +181,7 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, pthread_mutex_t* log_lock) case INTVAR_EVENT: { Intvar_log_event* e = new Intvar_log_event(file, timestamp, server_id); - if(log_lock) pthread_mutex_unlock(log_lock); - + UNLOCK_MUTEX if (e->type == INVALID_INT_EVENT) { delete e; @@ -184,13 +193,13 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, pthread_mutex_t* log_lock) case START_EVENT: { Start_log_event* e = new Start_log_event(file, timestamp, server_id); - if(log_lock) pthread_mutex_unlock(log_lock); + UNLOCK_MUTEX return e; } case STOP_EVENT: { Stop_log_event* e = new Stop_log_event(file, timestamp, server_id); - if(log_lock) pthread_mutex_unlock(log_lock); + UNLOCK_MUTEX return e; } default: @@ -198,7 +207,7 @@ Log_event* Log_event::read_log_event(IO_CACHE* file, pthread_mutex_t* log_lock) } // default - if (log_lock) pthread_mutex_unlock(log_lock); + UNLOCK_MUTEX return NULL; } |