* fusermount: fix uid checking bug. Patch by Adam Connell
+ * KERNEL: fix compile on various RedHad patched 2.4 kernels.
+ Patch by Keshava Gowda
+
2005-01-20 Miklos Szeredi <miklos@szeredi.hu>
* KERNEL: provide correct llseek semantics for fuse device (fixes
AC_DEFINE(HAVE_I_SIZE_FUNC, 1,
[Kernel has i_size_read() and i_size_write() functions]),,
[#include <linux/fs.h>])
+ AC_CHECK_DECL(recalc_sigpending_tsk,
+ AC_DEFINE(HAVE_RECALC_SIGPENDING_TSK, 1,
+ [Kernel has recalc_sigpending_tsk() function]),,
+ [#include <linux/sched.h>])
CFLAGS="$old_cflags"
else
fuse_configured=no
sigprocmask(SIG_SETMASK, oldset, NULL);
}
#else
+#ifdef HAVE_RECALC_SIGPENDING_TSK
+static inline void block_sigs(sigset_t *oldset)
+{
+ spin_lock_irq(¤t->sighand->siglock);
+ *oldset = current->blocked;
+ siginitsetinv(¤t->blocked, sigmask(SIGKILL) & ~oldset->sig[0]);
+ recalc_sigpending();
+ spin_unlock_irq(¤t->sighand->siglock);
+}
+
+static inline void restore_sigs(sigset_t *oldset)
+{
+ spin_lock_irq(¤t->sighand->siglock);
+ current->blocked = *oldset;
+ recalc_sigpending();
+ spin_unlock_irq(¤t->sighand->siglock);
+}
+#else
static inline void block_sigs(sigset_t *oldset)
{
spin_lock_irq(¤t->sigmask_lock);
spin_unlock_irq(¤t->sigmask_lock);
}
#endif
+#endif
void fuse_reset_request(struct fuse_req *req)
{