reparent_to_init(); 
thread(void *unused){	struct timer_list wakeup_timer;	kvoyagerd_running = 1;	reparent_to_init();	daemonize(THREAD_NAME);	set_timeout = 0;	init_timer(&wakeup_timer);	sigfillset(&current->blocked);	current->signal->tty = NULL;	printk(KERN_NOTICE "Voyager starting monitor thread\n");	for(;;) {		down_interruptible(&kvoyagerd_sem);		VDEBUG(("Voyager Daemon awoken\n"));		if(voyager_status.request_from_kernel == 0) {			/* probably awoken from timeout */			check_continuing_condition();		} else {			check_from_kernel();			voyager_status.request_from_kernel = 0;		}		if(set_timeout) {			del_timer(&wakeup_timer);			wakeup_timer.expires = HZ + jiffies;			wakeup_timer.function = wakeup;			add_timer(&wakeup_timer);		}	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6c46ada700568897165409e618ed584683838b49/voyager_thread.c/clean/arch/i386/mach-voyager/voyager_thread.c