#ifdef CONFIG_SMP /* read_trylock() would be handy... */ if (!tasklist_lock.write_lock) read_lock(&tasklist_lock); #endif { 
if (read_trylock(&tasklist_lock)) { 
init_handler_platform (pal_min_state_area_t *ms,		       struct pt_regs *pt, struct switch_stack *sw){	struct unw_frame_info info;	/* if a kernel debugger is available call it here else just dump the registers */	/*	 * Wait for a bit.  On some machines (e.g., HP's zx2000 and zx6000, INIT can be	 * generated via the BMC's command-line interface, but since the console is on the	 * same serial line, the user will need some time to switch out of the BMC before	 * the dump begins.	 */	printk("Delaying for 5 seconds...\n");	udelay(5*1000000);	show_min_state(ms);	printk("Backtrace of current task (pid %d, %s)\n", current->pid, current->comm);	fetch_min_state(ms, pt, sw);	unw_init_from_interruption(&info, current, pt, sw);	ia64_do_show_stack(&info, NULL);#ifdef CONFIG_SMP	/* read_trylock() would be handy... */	if (!tasklist_lock.write_lock)		read_lock(&tasklist_lock);#endif	{		struct task_struct *g, *t;		do_each_thread (g, t) {			if (t == current)				continue;			printk("\nBacktrace of pid %d (%s)\n", t->pid, t->comm);			show_stack(t, NULL);		} while_each_thread (g, t);	}#ifdef CONFIG_SMP	if (!tasklist_lock.write_lock)		read_unlock(&tasklist_lock);#endif	printk("\nINIT dump complete.  Please reboot now.\n");	while (1);			/* hang city if no debugger */}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/fb1c8f93d869b34cacb8b8932e2b83d96a19d720/mca.c/clean/arch/ia64/kernel/mca.c