patch-1.3.65 linux/arch/i386/kernel/signal.c
Next file: linux/arch/i386/kernel/smp.c
Previous file: linux/arch/i386/boot/compressed/Makefile
Back to the patch index
Back to the overall index
- Lines: 19
- Date:
Sat Feb 17 08:07:01 1996
- Orig file:
v1.3.64/linux/arch/i386/kernel/signal.c
- Orig date:
Wed Dec 27 09:12:12 1995
diff -u --recursive --new-file v1.3.64/linux/arch/i386/kernel/signal.c linux/arch/i386/kernel/signal.c
@@ -152,10 +152,16 @@
struct sigaction * sa;
while ((signr = current->signal & mask)) {
+ /*
+ * This stops gcc flipping out. Otherwise the assembler
+ * including volatiles for the inline function to get
+ * current combined with this gets it confused.
+ */
+ struct task_struct *t=current;
__asm__("bsf %3,%1\n\t"
"btrl %1,%0"
- :"=m" (current->signal),"=r" (signr)
- :"0" (current->signal), "1" (signr));
+ :"=m" (t->signal),"=r" (signr)
+ :"0" (t->signal), "1" (signr));
sa = current->sig->action + signr;
signr++;
if ((current->flags & PF_PTRACED) && signr != SIGKILL) {
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this