diff options
Diffstat (limited to 'server-tools/instance-manager/manager.cc')
-rw-r--r-- | server-tools/instance-manager/manager.cc | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/server-tools/instance-manager/manager.cc b/server-tools/instance-manager/manager.cc index a42a25eadf3..3ecd5fbc0d0 100644 --- a/server-tools/instance-manager/manager.cc +++ b/server-tools/instance-manager/manager.cc @@ -162,12 +162,12 @@ void manager(const Options &options) pthread_attr_init(&listener_thd_attr); pthread_attr_setdetachstate(&listener_thd_attr, PTHREAD_CREATE_DETACHED); - rc= pthread_create(&listener_thd_id, &listener_thd_attr, listener, - &listener_args); + rc= set_stacksize_n_create_thread(&listener_thd_id, &listener_thd_attr, + listener, &listener_args); pthread_attr_destroy(&listener_thd_attr); if (rc) { - log_error("manager(): pthread_create(listener) failed"); + log_error("manager(): set_stacksize_n_create_thread(listener) failed"); goto err; } @@ -187,12 +187,12 @@ void manager(const Options &options) pthread_attr_init(&guardian_thd_attr); pthread_attr_setdetachstate(&guardian_thd_attr, PTHREAD_CREATE_DETACHED); - rc= pthread_create(&guardian_thd_id, &guardian_thd_attr, guardian, - &guardian_thread); + rc= set_stacksize_n_create_thread(&guardian_thd_id, &guardian_thd_attr, + guardian, &guardian_thread); pthread_attr_destroy(&guardian_thd_attr); if (rc) { - log_error("manager(): pthread_create(guardian) failed"); + log_error("manager(): set_stacksize_n_create_thread(guardian) failed"); goto err; } @@ -231,6 +231,16 @@ void manager(const Options &options) } #ifndef __WIN__ +/* + On some Darwin kernels SIGHUP is delivered along with most + signals. This is why we skip it's processing on these + platforms. For more details and test program see + Bug #14164 IM tests fail on MacOS X (powermacg5) +*/ +#ifdef IGNORE_SIGHUP_SIGQUIT + if ( SIGHUP == signo ) + continue; +#endif if (THR_SERVER_ALARM == signo) process_alarm(signo); else |