Commit 769764f3 authored by unknown's avatar unknown

fix for macosx where SIGRTMIN is missing


BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
parent 5911e0e5
...@@ -161,6 +161,7 @@ tim@white.box ...@@ -161,6 +161,7 @@ tim@white.box
tim@work.mysql.com tim@work.mysql.com
tom@basil-firewall.home.com tom@basil-firewall.home.com
tomas@mc05.(none) tomas@mc05.(none)
tomas@poseidon.(none)
tonu@hundin.mysql.fi tonu@hundin.mysql.fi
tonu@volk.internalnet tonu@volk.internalnet
tonu@x153.internalnet tonu@x153.internalnet
......
...@@ -228,16 +228,25 @@ systemInfo(const Configuration & config, const LogLevel & logLevel){ ...@@ -228,16 +228,25 @@ systemInfo(const Configuration & config, const LogLevel & logLevel){
void void
catchsigs(bool ignore){ catchsigs(bool ignore){
#if ! defined NDB_SOFTOSE && !defined NDB_OSE #if ! defined NDB_SOFTOSE && !defined NDB_OSE
#if defined SIGRTMIN
#define MAX_SIG_CATCH SIGRTMIN
#elif defined NSIG
#define MAX_SIG_CATCH NSIG
#else
#error "neither SIGRTMIN or NSIG is defined on this platform, please report bug at bugs.mysql.com"
#endif
// Makes the main process catch process signals, eg installs a // Makes the main process catch process signals, eg installs a
// handler named "handler". "handler" will then be called is instead // handler named "handler". "handler" will then be called is instead
// of the defualt process signal handler) // of the defualt process signal handler)
if(ignore){ if(ignore){
for(int i = 1; i<SIGRTMIN; i++){ for(int i = 1; i < MAX_SIG_CATCH; i++){
if(i != SIGCHLD) if(i != SIGCHLD)
signal(i, SIG_IGN); signal(i, SIG_IGN);
} }
} else { } else {
for(int i = 1; i<SIGRTMIN; i++){ for(int i = 1; i < MAX_SIG_CATCH; i++){
signal(i, handler); signal(i, handler);
} }
} }
......
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