try_to_freeze(PF_FREEZE); 
try_to_freeze(); 
static int kafsasyncd(void *arg){	struct afs_async_op *op;	int die;	DECLARE_WAITQUEUE(myself, current);	kafsasyncd_task = current;	printk("kAFS: Started kafsasyncd %d\n", current->pid);	daemonize("kafsasyncd");	complete(&kafsasyncd_alive);	/* loop around looking for things to attend to */	do {		set_current_state(TASK_INTERRUPTIBLE);		add_wait_queue(&kafsasyncd_sleepq, &myself);		for (;;) {			if (!list_empty(&kafsasyncd_async_attnq) ||			    signal_pending(current) ||			    kafsasyncd_die)				break;			schedule();			set_current_state(TASK_INTERRUPTIBLE);		}		remove_wait_queue(&kafsasyncd_sleepq, &myself);		set_current_state(TASK_RUNNING);		try_to_freeze(PF_FREEZE);		/* discard pending signals */		afs_discard_my_signals();		die = kafsasyncd_die;		/* deal with the next asynchronous operation requiring		 * attention */		if (!list_empty(&kafsasyncd_async_attnq)) {			struct afs_async_op *op;			_debug("@@@ Begin Asynchronous Operation");			op = NULL;			spin_lock(&kafsasyncd_async_lock);			if (!list_empty(&kafsasyncd_async_attnq)) {				op = list_entry(kafsasyncd_async_attnq.next,						struct afs_async_op, link);				list_del(&op->link);				list_add_tail(&op->link,					      &kafsasyncd_async_busyq);			}			spin_unlock(&kafsasyncd_async_lock);			_debug("@@@ Operation %p {%p}\n",			       op, op ? op->ops : NULL);			if (op)				op->ops->attend(op);			_debug("@@@ End Asynchronous Operation");		}	} while(!die);	/* need to kill all outstanding asynchronous operations before	 * exiting */	kafsasyncd_task = NULL;	spin_lock(&kafsasyncd_async_lock);	/* fold the busy and attention queues together */	list_splice_init(&kafsasyncd_async_busyq,			 &kafsasyncd_async_attnq);	/* dequeue kafsasyncd from all their wait queues */	list_for_each_entry(op, &kafsasyncd_async_attnq, link) {		op->call->app_attn_func = kafsasyncd_null_call_attn_func;		op->call->app_error_func = kafsasyncd_null_call_error_func;		remove_wait_queue(&op->call->waitq, &op->waiter);	}	spin_unlock(&kafsasyncd_async_lock);	/* abort all the operations */	while (!list_empty(&kafsasyncd_async_attnq)) {		op = list_entry(kafsasyncd_async_attnq.next, struct afs_async_op, link);		list_del_init(&op->link);		rxrpc_call_abort(op->call, -EIO);		rxrpc_put_call(op->call);		op->call = NULL;		op->ops->discard(op);	}	/* and that's all */	_leave("");	complete_and_exit(&kafsasyncd_dead, 0);} /* end kafsasyncd() */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73/kafsasyncd.c/clean/fs/afs/kafsasyncd.c