diff options
author | Daniel Black <daniel@mariadb.org> | 2021-04-06 16:57:38 +1000 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2021-04-07 14:01:56 +1000 |
commit | f69c1c9dcb815d7597ec2035470a81ac3b6c9380 (patch) | |
tree | 09bd247f8d64004e76dce6295412b4659019e764 | |
parent | 5b71e0424c0c647c39798fd1791e8b68d730d784 (diff) | |
download | mariadb-git-f69c1c9dcb815d7597ec2035470a81ac3b6c9380.tar.gz |
MDEV-19508: SI_KERNEL is not on all implementationsbb-10.4-danielblack-MDEV-19508-minimal-compile-fix
SI_USER is, however in FreeBSD there are a couple of non-kernel
user signal infomations above SI_KERNEL.
Put a fallback just in case there is nothing available.
-rw-r--r-- | include/my_pthread.h | 1 | ||||
-rw-r--r-- | sql/mysqld.cc | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/my_pthread.h b/include/my_pthread.h index 81dd63ee331..bc47bb8bad0 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -197,7 +197,6 @@ static inline int my_sigwait(sigset_t *set, int *sig, int *code) *code= siginfo.si_code; return *sig < 0 ? errno : 0; #else -#define SI_KERNEL 128 *code= 0; return sigwait(set, sig); #endif diff --git a/sql/mysqld.cc b/sql/mysqld.cc index c536cdef504..7e3ce878cdc 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3253,7 +3253,13 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused))) } break; case SIGHUP: +#if defined(SI_KERNEL) if (!abort_loop && origin != SI_KERNEL) +#elif defined(SI_USER) + if (!abort_loop && origin <= SI_USER) +#else + if (!abort_loop) +#endif { int not_used; mysql_print_status(); // Print some debug info |