diff options
author | tomas@poseidon.(none) <> | 2004-05-21 10:04:15 +0000 |
---|---|---|
committer | tomas@poseidon.(none) <> | 2004-05-21 10:04:15 +0000 |
commit | cb07a07ed9b21aa5f3573464e221f57fff5af62c (patch) | |
tree | 123dd585817eb6fe5c464304ed108233001b5afb /ndb | |
parent | 564ad4876d91d0010a72963998206b1084ee86fa (diff) | |
download | mariadb-git-cb07a07ed9b21aa5f3573464e221f57fff5af62c.tar.gz |
fix for macosx where SIGRTMIN is missing
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/src/kernel/ndb-main/Main.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/ndb/src/kernel/ndb-main/Main.cpp b/ndb/src/kernel/ndb-main/Main.cpp index 3d4fcb610c6..1515a108e35 100644 --- a/ndb/src/kernel/ndb-main/Main.cpp +++ b/ndb/src/kernel/ndb-main/Main.cpp @@ -228,16 +228,25 @@ systemInfo(const Configuration & config, const LogLevel & logLevel){ void catchsigs(bool ignore){ #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 // handler named "handler". "handler" will then be called is instead // of the defualt process signal handler) if(ignore){ - for(int i = 1; i<SIGRTMIN; i++){ + for(int i = 1; i < MAX_SIG_CATCH; i++){ if(i != SIGCHLD) signal(i, SIG_IGN); - } + } } else { - for(int i = 1; i<SIGRTMIN; i++){ + for(int i = 1; i < MAX_SIG_CATCH; i++){ signal(i, handler); } } |