mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
077840fa23
into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-4.1 include/thr_alarm.h: Auto merged mysys/my_pthread.c: Auto merged BUILD/SETUP.sh: Merged from 4.0 configure.in: Merged from 4.0 include/my_global.h: Merged from 4.0 include/my_pthread.h: Merged from 4.0 mysys/thr_alarm.c: Merged from 4.0 sql/mysqld.cc: Merged from 4.0 BUILD/SETUP.sh.rej: Merged from 4.0 configure.in.rej: Merged from 4.0 include/my_global.h.rej: Merged from 4.0 include/my_pthread.h.rej: Merged from 4.0 mysys/thr_alarm.c.rej: Merged from 4.0 sql/mysqld.cc.rej: Merged from 4.0
80 lines
3.8 KiB
Text
80 lines
3.8 KiB
Text
***************
|
|
*** 286,293 ****
|
|
#undef HAVE_PTHREAD_RWLOCK_RDLOCK
|
|
#undef HAVE_SNPRINTF
|
|
|
|
! #define sigset(A,B) pthread_signal((A),(void (*)(int)) (B))
|
|
! #define signal(A,B) pthread_signal((A),(void (*)(int)) (B))
|
|
#define my_pthread_attr_setprio(A,B)
|
|
#endif /* defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM) */
|
|
|
|
--- 294,301 ----
|
|
#undef HAVE_PTHREAD_RWLOCK_RDLOCK
|
|
#undef HAVE_SNPRINTF
|
|
|
|
! #define my_sigset(A,B) pthread_signal((A),(void (*)(int)) (B))
|
|
! #define my_signal(A,B) pthread_signal((A),(void (*)(int)) (B))
|
|
#define my_pthread_attr_setprio(A,B)
|
|
#endif /* defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM) */
|
|
|
|
***************
|
|
*** 324,337 ****
|
|
#if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX)
|
|
int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */
|
|
#endif
|
|
! #if !defined(HAVE_SIGSET) && !defined(HAVE_mit_thread) && !defined(sigset)
|
|
! #define sigset(A,B) do { struct sigaction s; sigset_t set; \
|
|
! sigemptyset(&set); \
|
|
! s.sa_handler = (B); \
|
|
! s.sa_mask = set; \
|
|
! s.sa_flags = 0; \
|
|
! sigaction((A), &s, (struct sigaction *) NULL); \
|
|
} while (0)
|
|
#endif
|
|
|
|
#ifndef my_pthread_setprio
|
|
--- 332,358 ----
|
|
#if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX)
|
|
int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */
|
|
#endif
|
|
!
|
|
! /*
|
|
! We define my_sigset() and use that instead of the system sigset() so that
|
|
! we can favor an implementation based on sigaction(). On some systems, such
|
|
! as Mac OS X, sigset() results in flags such as SA_RESTART being set, and
|
|
! we want to make sure that no such flags are set.
|
|
! */
|
|
! #if defined(HAVE_SIGACTION) && !defined(my_sigset)
|
|
! #define my_sigset(A,B) do { struct sigaction s; sigset_t set; int rc; \
|
|
! DBUG_ASSERT((A) != 0); \
|
|
! sigemptyset(&set); \
|
|
! s.sa_handler = (B); \
|
|
! s.sa_mask = set; \
|
|
! s.sa_flags = 0; \
|
|
! rc= sigaction((A), &s, (struct sigaction *) NULL); \
|
|
! DBUG_ASSERT(rc == 0); \
|
|
} while (0)
|
|
+ #elif defined(HAVE_SIGSET) && !defined(my_sigset)
|
|
+ #define my_sigset(A,B) sigset((A),(B))
|
|
+ #elif !defined(my_sigset)
|
|
+ #define my_sigset(A,B) signal((A),(B))
|
|
#endif
|
|
|
|
#ifndef my_pthread_setprio
|
|
***************
|
|
*** 416,422 ****
|
|
#undef pthread_detach_this_thread
|
|
#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
|
|
#undef sigset
|
|
! #define sigset(A,B) pthread_signal((A),(void (*)(int)) (B))
|
|
#endif
|
|
|
|
#if ((defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)) || defined(HAVE_DEC_3_2_THREADS)) && !defined(HAVE_CTHREADS_WRAPPER)
|
|
--- 437,443 ----
|
|
#undef pthread_detach_this_thread
|
|
#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
|
|
#undef sigset
|
|
! #define my_sigset(A,B) pthread_signal((A),(void (*)(int)) (B))
|
|
#endif
|
|
|
|
#if ((defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)) || defined(HAVE_DEC_3_2_THREADS)) && !defined(HAVE_CTHREADS_WRAPPER)
|