try_to_freeze(PF_FREEZE); 
try_to_freeze(); 
static int rxrpc_krxsecd(void *arg){	DECLARE_WAITQUEUE(krxsecd, current);	int die;	printk("Started krxsecd %d\n", current->pid);	daemonize("krxsecd");	/* loop around waiting for work to do */	do {		/* wait for work or to be told to exit */		_debug("### Begin Wait");		if (!atomic_read(&rxrpc_krxsecd_qcount)) {			set_current_state(TASK_INTERRUPTIBLE);			add_wait_queue(&rxrpc_krxsecd_sleepq, &krxsecd);			for (;;) {				set_current_state(TASK_INTERRUPTIBLE);				if (atomic_read(&rxrpc_krxsecd_qcount) ||				    rxrpc_krxsecd_die ||				    signal_pending(current))					break;				schedule();			}			remove_wait_queue(&rxrpc_krxsecd_sleepq, &krxsecd);			set_current_state(TASK_RUNNING);		}		die = rxrpc_krxsecd_die;		_debug("### End Wait");		/* see if there're incoming calls in need of authenticating */		_debug("### Begin Inbound Calls");		if (!list_empty(&rxrpc_krxsecd_initmsgq)) {			struct rxrpc_message *msg = NULL;			spin_lock(&rxrpc_krxsecd_initmsgq_lock);			if (!list_empty(&rxrpc_krxsecd_initmsgq)) {				msg = list_entry(rxrpc_krxsecd_initmsgq.next,						 struct rxrpc_message, link);				list_del_init(&msg->link);				atomic_dec(&rxrpc_krxsecd_qcount);			}			spin_unlock(&rxrpc_krxsecd_initmsgq_lock);			if (msg) {				rxrpc_krxsecd_process_incoming_call(msg);				rxrpc_put_message(msg);			}		}		_debug("### End Inbound Calls");		try_to_freeze(PF_FREEZE);                /* discard pending signals */		rxrpc_discard_my_signals();	} while (!die);	/* and that's all */	complete_and_exit(&rxrpc_krxsecd_dead, 0);} /* end rxrpc_krxsecd() */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73/krxsecd.c/clean/net/rxrpc/krxsecd.c