STABLE12-redhat-81-support-again-20030319

once more. maybe this time they'll release something that looks like this


(cherry picked from commit 284d3edd23)
This commit is contained in:
Derrick Brashear 2003-03-19 22:22:59 +00:00
parent 3941397640
commit 7109a0d3a3
4 changed files with 29 additions and 3 deletions

View File

@ -45,6 +45,7 @@ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
#undef STRUCT_INODE_HAS_I_TRUNCATE_SEM
#undef STRUCT_TASK_STRUCT_HAS_PARENT
#undef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
#undef STRUCT_TASK_STRUCT_HAS_SIGHAND
#undef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
#undef ssize_t

View File

@ -154,6 +154,7 @@ case $system in
LINUX_RECALC_SIGPENDING_ARG_TYPE
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
LINUX_WHICH_MODULES
if test "x$ac_cv_linux_config_modversions" = "xno"; then
@ -239,6 +240,9 @@ case $system in
if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK, 1, [define if your struct task_struct has sigmask_lock])
fi
if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGHAND, 1, [define if your struct task_struct has sighand])
fi
:
fi
;;

View File

@ -62,7 +62,11 @@ static inline int _has_pending_signals(sigset_t *signal, sigset_t *blocked)
static inline void _recalc_sigpending_tsk(struct task_struct *t)
{
t->sigpending = PENDING(&t->pending, &t->blocked) ||
PENDING(&t->sig->shared_pending, &t->blocked);
#ifdef STRUCT_TASK_STRUCT_HAS_SIG
PENDING(&t->sig->shared_pending, &t->blocked);
#else
PENDING(&t->signal->shared_pending, &t->blocked);
#endif
}
#define RECALC_SIGPENDING(X) _recalc_sigpending_tsk(X)
@ -70,15 +74,17 @@ static inline void _recalc_sigpending_tsk(struct task_struct *t)
#define RECALC_SIGPENDING(X) recalc_sigpending(X)
#endif
#ifdef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
#if defined (STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK)
#define SIG_LOCK(X) spin_lock_irq(&X->sigmask_lock)
#define SIG_UNLOCK(X) spin_unlock_irq(&X->sigmask_lock)
#elif defined (STRUCT_TASK_STRUCT_HAS_SIGHAND)
#define SIG_LOCK(X) spin_lock_irq(&X->sighand->siglock)
#define SIG_UNLOCK(X) spin_unlock_irq(&X->sighand->siglock)
#else
#define SIG_LOCK(X) spin_lock_irq(&X->sig->siglock)
#define SIG_UNLOCK(X) spin_unlock_irq(&X->sig->siglock)
#endif
#define afs_hz HZ
#define osi_Time() (xtime.tv_sec)
#if (CPU == sparc64)

View File

@ -312,3 +312,18 @@ ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes,
ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no)])
AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sigmask_lock)
CPPFLAGS="$save_CPPFLAGS"])
AC_DEFUN(LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND, [
AC_MSG_CHECKING(for sighand in struct task_struct)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS"
AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_sighand,
[
AC_TRY_COMPILE(
[#include <linux/sched.h>],
[struct task_struct _tsk;
printf("%d\n", _tsk.sighand);],
ac_cv_linux_sched_struct_task_struct_has_sighand=yes,
ac_cv_linux_sched_struct_task_struct_has_sighand=no)])
AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sighand)
CPPFLAGS="$save_CPPFLAGS"])