Commit 90d376e0 authored by Dave Gosselin's avatar Dave Gosselin Committed by Dave Gosselin

MDEV-34129 mariadb-install-db appears to hang on macOS

Immediately close down the signal handler loop when we decide to
break connections as it's the start of process termination
anyway, and there's no need to wait once we've invoked break_connections.
parent 3b80d23d
...@@ -2953,6 +2953,15 @@ static void start_signal_handler(void) ...@@ -2953,6 +2953,15 @@ static void start_signal_handler(void)
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
/** Called only from signal_hand function. */
static void* exit_signal_handler()
{
my_thread_end();
signal_thread_in_use= 0;
pthread_exit(0); // Safety
return nullptr; // Avoid compiler warnings
}
/** This threads handles all signals and alarms. */ /** This threads handles all signals and alarms. */
/* ARGSUSED */ /* ARGSUSED */
...@@ -3013,10 +3022,7 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused))) ...@@ -3013,10 +3022,7 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused)))
if (abort_loop) if (abort_loop)
{ {
DBUG_PRINT("quit",("signal_handler: calling my_thread_end()")); DBUG_PRINT("quit",("signal_handler: calling my_thread_end()"));
my_thread_end(); return exit_signal_handler();
signal_thread_in_use= 0;
pthread_exit(0); // Safety
return 0; // Avoid compiler warnings
} }
switch (sig) { switch (sig) {
case SIGTERM: case SIGTERM:
...@@ -3035,6 +3041,7 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused))) ...@@ -3035,6 +3041,7 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused)))
PSI_CALL_delete_current_thread(); PSI_CALL_delete_current_thread();
my_sigset(sig, SIG_IGN); my_sigset(sig, SIG_IGN);
break_connect_loop(); // MIT THREAD has a alarm thread break_connect_loop(); // MIT THREAD has a alarm thread
return exit_signal_handler();
} }
break; break;
case SIGHUP: case SIGHUP:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment