summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authortomas@poseidon.(none) <>2004-05-21 10:04:15 +0000
committertomas@poseidon.(none) <>2004-05-21 10:04:15 +0000
commitcb07a07ed9b21aa5f3573464e221f57fff5af62c (patch)
tree123dd585817eb6fe5c464304ed108233001b5afb /ndb
parent564ad4876d91d0010a72963998206b1084ee86fa (diff)
downloadmariadb-git-cb07a07ed9b21aa5f3573464e221f57fff5af62c.tar.gz
fix for macosx where SIGRTMIN is missing
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/kernel/ndb-main/Main.cpp15
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);
}
}