X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=arch%2Fia64%2Fkernel%2Ftraps.c;fp=arch%2Fia64%2Fkernel%2Ftraps.c;h=dabd6c32641ecc412d81d35f423813c3c72aa4b3;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=fffa9e0826bc3b8eab092da56ead23c7349d27b6;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c index fffa9e082..dabd6c326 100644 --- a/arch/ia64/kernel/traps.c +++ b/arch/ia64/kernel/traps.c @@ -7,6 +7,7 @@ * 05/12/00 grao : added isr in siginfo for SIGFPE */ +#include #include #include #include @@ -29,19 +30,19 @@ extern spinlock_t timerlist_lock; fpswa_interface_t *fpswa_interface; EXPORT_SYMBOL(fpswa_interface); -ATOMIC_NOTIFIER_HEAD(ia64die_chain); +struct notifier_block *ia64die_chain; int register_die_notifier(struct notifier_block *nb) { - return atomic_notifier_chain_register(&ia64die_chain, nb); + return notifier_chain_register(&ia64die_chain, nb); } EXPORT_SYMBOL_GPL(register_die_notifier); int unregister_die_notifier(struct notifier_block *nb) { - return atomic_notifier_chain_unregister(&ia64die_chain, nb); + return notifier_chain_unregister(&ia64die_chain, nb); } EXPORT_SYMBOL_GPL(unregister_die_notifier); @@ -117,8 +118,11 @@ die (const char *str, struct pt_regs *regs, long err) die.lock_owner = -1; spin_unlock_irq(&die.lock); - if (panic_on_oops) + if (panic_on_oops) { + printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); + ssleep(5); panic("Fatal exception"); + } do_exit(SIGSEGV); }