mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 10:31:54 +01:00
Fixed bug in wait_for_relay_log_space()
Added checking of sem_init() in configure.
This commit is contained in:
parent
4eb3ce226f
commit
cde8c0edb7
4 changed files with 20 additions and 11 deletions
|
@ -2410,9 +2410,11 @@ int main(int argc, char** argv)
|
||||||
case Q_QUERY:
|
case Q_QUERY:
|
||||||
case Q_REAP:
|
case Q_REAP:
|
||||||
{
|
{
|
||||||
int flags = QUERY_REAP; /* we read the result always regardless
|
/*
|
||||||
* of the mode for both full query and
|
We read the result always regardless of the mode for both full
|
||||||
* read-result only ( reap) */
|
query and read-result only (reap)
|
||||||
|
*/
|
||||||
|
int flags = QUERY_REAP;
|
||||||
if (q->type != Q_REAP) /* for a full query, enable the send stage */
|
if (q->type != Q_REAP) /* for a full query, enable the send stage */
|
||||||
flags |= QUERY_SEND;
|
flags |= QUERY_SEND;
|
||||||
if (q_send_flag)
|
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 */
|
/* fix up query pointer if this is * first iteration for this line */
|
||||||
if (q->query == q->query_buf)
|
if (q->query == q->query_buf)
|
||||||
q->query += q->first_word_len;
|
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
|
run_query() can execute a query partially, depending on the flags
|
||||||
* QUERY_SEND flag without QUERY_REAP tells it to just send the
|
QUERY_SEND flag without QUERY_REAP tells it to just send the
|
||||||
* query and read the result some time later when reap instruction
|
query and read the result some time later when reap instruction
|
||||||
* is given on this connection
|
is given on this connection.
|
||||||
*/
|
*/
|
||||||
|
error |= run_query(&cur_con->mysql, q, QUERY_SEND);
|
||||||
break;
|
break;
|
||||||
case Q_RESULT:
|
case Q_RESULT:
|
||||||
get_file_name(save_file,q);
|
get_file_name(save_file,q);
|
||||||
|
|
|
@ -687,6 +687,9 @@ AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
|
||||||
AC_CHECK_LIB(crypt, crypt)
|
AC_CHECK_LIB(crypt, crypt)
|
||||||
AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_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
|
# For compress in zlib
|
||||||
MYSQL_CHECK_ZLIB_WITH_COMPRESS($with_named_zlib)
|
MYSQL_CHECK_ZLIB_WITH_COMPRESS($with_named_zlib)
|
||||||
|
|
||||||
|
|
|
@ -57,8 +57,11 @@ void hostname_cache_refresh()
|
||||||
|
|
||||||
bool hostname_cache_init()
|
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);
|
(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,
|
sizeof(struct in_addr),NULL,
|
||||||
(void (*)(void*)) free)))
|
(void (*)(void*)) free)))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -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)
|
static bool wait_for_relay_log_space(RELAY_LOG_INFO* rli)
|
||||||
{
|
{
|
||||||
bool slave_killed;
|
bool slave_killed=0;
|
||||||
LINT_INIT(slave_killed);
|
|
||||||
MASTER_INFO* mi = rli->mi;
|
MASTER_INFO* mi = rli->mi;
|
||||||
const char* save_proc_info;
|
const char* save_proc_info;
|
||||||
THD* thd = mi->io_thd;
|
THD* thd = mi->io_thd;
|
||||||
|
|
||||||
DBUG_ENTER("wait_for_relay_log_space");
|
DBUG_ENTER("wait_for_relay_log_space");
|
||||||
pthread_mutex_lock(&rli->log_space_lock);
|
pthread_mutex_lock(&rli->log_space_lock);
|
||||||
save_proc_info = thd->proc_info;
|
save_proc_info = thd->proc_info;
|
||||||
|
|
Loading…
Add table
Reference in a new issue