* [PATCH] no SA_NODEFER on sparc?
@ 2006-09-08 0:06 Samuel Thibault
2006-09-08 0:10 ` clean SA_NOMASK usage Samuel Thibault
2006-09-24 0:39 ` [PATCH] no SA_NODEFER on sparc? David Miller
0 siblings, 2 replies; 4+ messages in thread
From: Samuel Thibault @ 2006-09-08 0:06 UTC (permalink / raw)
To: sparclinux, linux-kernel
Hi,
I noticed that the sparc arch misses a definition for SA_NODEFER. Is
that on purpose? If not, here is a patch for fixing this.
Add SA_NODEFER, deprecating linuxish SA_NOMASK.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
diff --git a/include/asm-sparc/signal.h b/include/asm-sparc/signal.h
index d03a21c..5484f65 100644
--- a/include/asm-sparc/signal.h
+++ b/include/asm-sparc/signal.h
@@ -133,16 +133,19 @@ #define _SV_IGNCHILD 8u /* Do not se
* the sigaction structure as a stack pointer. This is now possible due to
* the changes in signal handling. LBT 010493.
* SA_RESTART flag to get restarting signals (which were the default long ago)
+ * SA_NOMASK is the historical Linux name for the Single Unix name NODEFER.
*/
#define SA_NOCLDSTOP _SV_IGNCHILD
#define SA_STACK _SV_SSTACK
#define SA_ONSTACK _SV_SSTACK
#define SA_RESTART _SV_INTR
#define SA_ONESHOT _SV_RESET
-#define SA_NOMASK 0x20u
+#define SA_NODEFER 0x20u
#define SA_NOCLDWAIT 0x100u
#define SA_SIGINFO 0x200u
+#define SA_NOMASK SA_NODEFER
+
#define SIG_BLOCK 0x01 /* for blocking signals */
#define SIG_UNBLOCK 0x02 /* for unblocking signals */
#define SIG_SETMASK 0x04 /* for setting the signal mask */
diff --git a/include/asm-sparc64/signal.h b/include/asm-sparc64/signal.h
index 9968871..f40f2bc 100644
--- a/include/asm-sparc64/signal.h
+++ b/include/asm-sparc64/signal.h
@@ -134,16 +134,18 @@ #define _SV_IGNCHILD 8u /* Do not se
* the sigaction structure as a stack pointer. This is now possible due to
* the changes in signal handling. LBT 010493.
* SA_RESTART flag to get restarting signals (which were the default long ago)
+ * SA_NOMASK is the historical Linux name for the Single Unix name NODEFER.
*/
#define SA_NOCLDSTOP _SV_IGNCHILD
#define SA_STACK _SV_SSTACK
#define SA_ONSTACK _SV_SSTACK
#define SA_RESTART _SV_INTR
#define SA_ONESHOT _SV_RESET
-#define SA_NOMASK 0x20u
+#define SA_NODEFER 0x20u
#define SA_NOCLDWAIT 0x100u
#define SA_SIGINFO 0x200u
+#define SA_NOMASK SA_NODEFER
#define SIG_BLOCK 0x01 /* for blocking signals */
#define SIG_UNBLOCK 0x02 /* for unblocking signals */
^ permalink raw reply related [flat|nested] 4+ messages in thread
* clean SA_NOMASK usage
2006-09-08 0:06 [PATCH] no SA_NODEFER on sparc? Samuel Thibault
@ 2006-09-08 0:10 ` Samuel Thibault
2006-09-24 0:39 ` [PATCH] no SA_NODEFER on sparc? David Miller
1 sibling, 0 replies; 4+ messages in thread
From: Samuel Thibault @ 2006-09-08 0:10 UTC (permalink / raw)
To: sparclinux, linux-kernel
Given that my previous patch gets applied, here is a patch for removing
uses of linuxish SA_NOMASK.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c
index b3355a9..0753ab4 100644
--- a/arch/ia64/ia32/ia32_signal.c
+++ b/arch/ia64/ia32/ia32_signal.c
@@ -514,7 +514,7 @@ sys32_signal (int sig, unsigned int hand
int ret;
sigact_set_handler(&new_sa, handler, 0);
- new_sa.sa.sa_flags = SA_ONESHOT | SA_NOMASK;
+ new_sa.sa.sa_flags = SA_ONESHOT | SA_NODEFER;
sigemptyset(&new_sa.sa.sa_mask);
ret = do_sigaction(sig, &new_sa, &old_sa);
diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c
index c9301b9..2aa8fe6 100644
--- a/arch/sparc/kernel/signal.c
+++ b/arch/sparc/kernel/signal.c
@@ -964,7 +964,7 @@ handle_signal(unsigned long signr, struc
}
spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
- if (!(ka->sa.sa_flags & SA_NOMASK))
+ if (!(ka->sa.sa_flags & SA_NODEFER))
sigaddset(¤t->blocked, signr);
recalc_sigpending();
spin_unlock_irq(¤t->sighand->siglock);
diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c
index 96d56a8..63b579d 100644
--- a/arch/sparc64/kernel/signal.c
+++ b/arch/sparc64/kernel/signal.c
@@ -487,7 +487,7 @@ static inline void handle_signal(unsigne
(ka->sa.sa_flags & SA_SIGINFO) ? info : NULL);
spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
- if (!(ka->sa.sa_flags & SA_NOMASK))
+ if (!(ka->sa.sa_flags & SA_NODEFER))
sigaddset(¤t->blocked,signr);
recalc_sigpending();
spin_unlock_irq(¤t->sighand->siglock);
diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c
index 708ba9b..fb2d82c 100644
--- a/arch/sparc64/kernel/signal32.c
+++ b/arch/sparc64/kernel/signal32.c
@@ -1232,7 +1232,7 @@ static inline void handle_signal32(unsig
}
spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
- if (!(ka->sa.sa_flags & SA_NOMASK))
+ if (!(ka->sa.sa_flags & SA_NODEFER))
sigaddset(¤t->blocked,signr);
recalc_sigpending();
spin_unlock_irq(¤t->sighand->siglock);
diff --git a/arch/sparc64/solaris/signal.c b/arch/sparc64/solaris/signal.c
index 7fa2634..21edcf0 100644
--- a/arch/sparc64/solaris/signal.c
+++ b/arch/sparc64/solaris/signal.c
@@ -83,7 +83,7 @@ static long sig_handler(int sig, u32 arg
sa.sa_restorer = NULL;
sa.sa_handler = (__sighandler_t)A(arg);
sa.sa_flags = 0;
- if (one_shot) sa.sa_flags = SA_ONESHOT | SA_NOMASK;
+ if (one_shot) sa.sa_flags = SA_ONESHOT | SA_NODEFER;
set_fs (KERNEL_DS);
ret = sys_sigaction(sig, (void __user *)&sa, (void __user *)&old);
set_fs (old_fs);
@@ -277,7 +277,7 @@ asmlinkage int solaris_sigaction(int sig
s.sa_flags = 0;
if (tmp & SOLARIS_SA_ONSTACK) s.sa_flags |= SA_STACK;
if (tmp & SOLARIS_SA_RESTART) s.sa_flags |= SA_RESTART;
- if (tmp & SOLARIS_SA_NODEFER) s.sa_flags |= SA_NOMASK;
+ if (tmp & SOLARIS_SA_NODEFER) s.sa_flags |= SA_NODEFER;
if (tmp & SOLARIS_SA_RESETHAND) s.sa_flags |= SA_ONESHOT;
if (tmp & SOLARIS_SA_NOCLDSTOP) s.sa_flags |= SA_NOCLDSTOP;
if (get_user (tmp, &p->sa_handler) ||
@@ -297,7 +297,7 @@ asmlinkage int solaris_sigaction(int sig
tmp = 0; tmp2[2] = 0; tmp2[3] = 0;
if (s2.sa_flags & SA_STACK) tmp |= SOLARIS_SA_ONSTACK;
if (s2.sa_flags & SA_RESTART) tmp |= SOLARIS_SA_RESTART;
- if (s2.sa_flags & SA_NOMASK) tmp |= SOLARIS_SA_NODEFER;
+ if (s2.sa_flags & SA_NODEFER) tmp |= SOLARIS_SA_NODEFER;
if (s2.sa_flags & SA_ONESHOT) tmp |= SOLARIS_SA_RESETHAND;
if (s2.sa_flags & SA_NOCLDSTOP) tmp |= SOLARIS_SA_NOCLDSTOP;
if (put_user (tmp, &p->sa_flags) ||
diff --git a/kernel/signal.c b/kernel/signal.c
index bfdb568..8a3b3a5 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -2530,7 +2530,7 @@ sys_signal(int sig, __sighandler_t handl
int ret;
new_sa.sa.sa_handler = handler;
- new_sa.sa.sa_flags = SA_ONESHOT | SA_NOMASK;
+ new_sa.sa.sa_flags = SA_ONESHOT | SA_NODEFER;
sigemptyset(&new_sa.sa.sa_mask);
ret = do_sigaction(sig, &new_sa, &old_sa);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] no SA_NODEFER on sparc?
2006-09-08 0:06 [PATCH] no SA_NODEFER on sparc? Samuel Thibault
2006-09-08 0:10 ` clean SA_NOMASK usage Samuel Thibault
@ 2006-09-24 0:39 ` David Miller
2006-09-24 7:59 ` Jan Engelhardt
1 sibling, 1 reply; 4+ messages in thread
From: David Miller @ 2006-09-24 0:39 UTC (permalink / raw)
To: samuel.thibault; +Cc: sparclinux, linux-kernel
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Fri, 8 Sep 2006 02:06:02 +0200
> I noticed that the sparc arch misses a definition for SA_NODEFER. Is
> that on purpose? If not, here is a patch for fixing this.
>
> Add SA_NODEFER, deprecating linuxish SA_NOMASK.
>
> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
I have no problems with this patch. Userland headers already
define both SA_NODEFER and SA_NOMASK on Sparc.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] no SA_NODEFER on sparc?
2006-09-24 0:39 ` [PATCH] no SA_NODEFER on sparc? David Miller
@ 2006-09-24 7:59 ` Jan Engelhardt
0 siblings, 0 replies; 4+ messages in thread
From: Jan Engelhardt @ 2006-09-24 7:59 UTC (permalink / raw)
To: David Miller; +Cc: samuel.thibault, sparclinux, linux-kernel
>> I noticed that the sparc arch misses a definition for SA_NODEFER. Is
>> that on purpose? If not, here is a patch for fixing this.
BTW, some SA_* constants have been superceded by IRQF_* in the kernel,
so you might want to check the new ones.
Jan Engelhardt
--
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-09-24 8:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-08 0:06 [PATCH] no SA_NODEFER on sparc? Samuel Thibault
2006-09-08 0:10 ` clean SA_NOMASK usage Samuel Thibault
2006-09-24 0:39 ` [PATCH] no SA_NODEFER on sparc? David Miller
2006-09-24 7:59 ` Jan Engelhardt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox