1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

Merge bodhi.local:/opt/local/work/mysql-5.0-runtime

into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


mysql-test/r/im_daemon_life_cycle.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/rpl_insert_id.result:
  Auto merged
mysql-test/r/sp-vars.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/func_gconcat.test:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/rpl_insert_id.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
server-tools/instance-manager/guardian.h:
  Auto merged
server-tools/instance-manager/instance_map.cc:
  Auto merged
server-tools/instance-manager/listener.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/r/sp-error.result:
  Use local
mysql-test/r/sp.result:
  Use local
  (will overwrite)
mysql-test/t/view.test:
  Use local.
mysql-test/mysql-test-run.pl:
  Manual merge.
mysql-test/t/sp-error.test:
  Manual merge.
server-tools/instance-manager/instance.cc:
  Manual merge.
server-tools/instance-manager/manager.cc:
  Manual merge.
server-tools/instance-manager/options.cc:
  Manual merge.
server-tools/instance-manager/options.h:
  Manual merge.
sql/log_event.cc:
  Manual merge.
sql/set_var.cc:
  Manual merge.
sql/sql_class.h:
  Manual merge.
sql/sql_insert.cc:
  Manual merge.
sql/sql_load.cc:
  Manual merge.
sql/sql_select.cc:
  Manual merge.
sql/sql_update.cc:
  Manual merge.
This commit is contained in:
unknown
2006-10-23 12:35:56 +04:00
24 changed files with 497 additions and 91 deletions

View File

@@ -120,6 +120,19 @@ int my_sigwait(const sigset_t *set, int *sig)
#endif
void stop_all(Guardian_thread *guardian, Thread_registry *registry)
{
/*
Let guardian thread know that it should break it's processing cycle,
once it wakes up.
*/
guardian->request_shutdown();
/* wake guardian */
pthread_cond_signal(&guardian->COND_guardian);
/* stop all threads */
registry->deliver_shutdown();
}
/*
manager - entry point to the main instance manager process: start
listener thread, write pid file and enter into signal handling.
@@ -251,7 +264,6 @@ void manager()
/* Load instances. */
{
instance_map.guardian->lock();
instance_map.lock();
@@ -266,7 +278,8 @@ void manager()
log_error("Cannot init instances repository. This might be caused by "
"the wrong config file options. For instance, missing mysqld "
"binary. Aborting.");
return;
stop_all(&guardian_thread, &thread_registry);
goto err;
}
}
@@ -284,6 +297,7 @@ void manager()
if (rc)
{
log_error("manager(): set_stacksize_n_create_thread(listener) failed");
stop_all(&guardian_thread, &thread_registry);
goto err;
}
}
@@ -302,6 +316,7 @@ void manager()
if ((status= my_sigwait(&mask, &signo)) != 0)
{
log_error("sigwait() failed");
stop_all(&guardian_thread, &thread_registry);
goto err;
}
@@ -323,8 +338,7 @@ void manager()
{
if (!guardian_thread.is_stopped())
{
bool stop_instances= TRUE;
guardian_thread.request_shutdown(stop_instances);
guardian_thread.request_shutdown();
pthread_cond_signal(&guardian_thread.COND_guardian);
}
else