summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2002-06-02 17:04:16 +0300
committerunknown <monty@hundin.mysql.fi>2002-06-02 17:04:16 +0300
commit499ebe5459e655ede75f0d9c30608dd704e637a9 (patch)
tree94ea4566e60e0653e37c415afee1899dc3bac9d9
parentd5adf39c85eb1a4acdf828ad4ea675beb30d4c81 (diff)
downloadmariadb-git-499ebe5459e655ede75f0d9c30608dd704e637a9.tar.gz
Fixed bug in wait_for_relay_log_space()
Added checking of sem_init() in configure. client/mysqltest.c: Cleanup configure.in: Added checking of sem_init sql/hostname.cc: Portability fix sql/slave.cc: Fixed bug in wait_for_relay_log_space()
-rw-r--r--client/mysqltest.c19
-rw-r--r--configure.in3
-rw-r--r--sql/hostname.cc5
-rw-r--r--sql/slave.cc4
4 files changed, 20 insertions, 11 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c
index 27763736f96..1a4e61027fe 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -2410,9 +2410,11 @@ int main(int argc, char** argv)
case Q_QUERY:
case Q_REAP:
{
- int flags = QUERY_REAP; /* we read the result always regardless
- * of the mode for both full query and
- * read-result only ( reap) */
+ /*
+ We read the result always regardless of the mode for both full
+ query and read-result only (reap)
+ */
+ int flags = QUERY_REAP;
if (q->type != Q_REAP) /* for a full query, enable the send stage */
flags |= QUERY_SEND;
if (q_send_flag)
@@ -2439,12 +2441,13 @@ int main(int argc, char** argv)
/* fix up query pointer if this is * first iteration for this line */
if (q->query == q->query_buf)
q->query += q->first_word_len;
- error |= run_query(&cur_con->mysql, q, QUERY_SEND);
- /* run query can execute a query partially, depending on the flags
- * QUERY_SEND flag without QUERY_REAP tells it to just send the
- * query and read the result some time later when reap instruction
- * is given on this connection
+ /*
+ run_query() can execute a query partially, depending on the flags
+ QUERY_SEND flag without QUERY_REAP tells it to just send the
+ query and read the result some time later when reap instruction
+ is given on this connection.
*/
+ error |= run_query(&cur_con->mysql, q, QUERY_SEND);
break;
case Q_RESULT:
get_file_name(save_file,q);
diff --git a/configure.in b/configure.in
index 704a8e9f303..c199da5ee7c 100644
--- a/configure.in
+++ b/configure.in
@@ -687,6 +687,9 @@ AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
AC_CHECK_LIB(crypt, crypt)
AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_CRYPT))
+# For sem_xxx functions on Solaris 2.6
+AC_CHECK_FUNC(sem_init, , AC_CHECK_LIB(posix4))
+
# For compress in zlib
MYSQL_CHECK_ZLIB_WITH_COMPRESS($with_named_zlib)
diff --git a/sql/hostname.cc b/sql/hostname.cc
index 5359f876522..bd4ec06c083 100644
--- a/sql/hostname.cc
+++ b/sql/hostname.cc
@@ -57,8 +57,11 @@ void hostname_cache_refresh()
bool hostname_cache_init()
{
+ host_entry *tmp;
+ uint offset= (uint) ((char*) (&tmp->ip) - (char*) &tmp);
(void) pthread_mutex_init(&LOCK_hostname,MY_MUTEX_INIT_SLOW);
- if (!(hostname_cache=new hash_filo(HOST_CACHE_SIZE,offsetof(host_entry,ip),
+
+ if (!(hostname_cache=new hash_filo(HOST_CACHE_SIZE, offset,
sizeof(struct in_addr),NULL,
(void (*)(void*)) free)))
return 1;
diff --git a/sql/slave.cc b/sql/slave.cc
index b473d8ab1e3..19e093a75d2 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -1118,11 +1118,11 @@ static inline int add_relay_log(RELAY_LOG_INFO* rli,LOG_INFO* linfo)
static bool wait_for_relay_log_space(RELAY_LOG_INFO* rli)
{
- bool slave_killed;
- LINT_INIT(slave_killed);
+ bool slave_killed=0;
MASTER_INFO* mi = rli->mi;
const char* save_proc_info;
THD* thd = mi->io_thd;
+
DBUG_ENTER("wait_for_relay_log_space");
pthread_mutex_lock(&rli->log_space_lock);
save_proc_info = thd->proc_info;