if (!EP_RB_LINKED(&epi->rbn)) 
if (!ep_rb_linked(&epi->rbn)) 
static int ep_unlink(struct eventpoll *ep, struct epitem *epi){	int error;	/*	 * It can happen that this one is called for an item already unlinked.	 * The check protect us from doing a double unlink ( crash ).	 */	error = -ENOENT;	if (!EP_RB_LINKED(&epi->rbn))		goto eexit_1;	/*	 * Clear the event mask for the unlinked item. This will avoid item	 * notifications to be sent after the unlink operation from inside	 * the kernel->userspace event transfer loop.	 */	epi->event.events = 0;	/*	 * At this point is safe to do the job, unlink the item from our rb-tree.	 * This operation togheter with the above check closes the door to	 * double unlinks.	 */	EP_RB_ERASE(&epi->rbn, &ep->rbr);	/*	 * If the item we are going to remove is inside the ready file descriptors	 * we want to remove it from this list to avoid stale events.	 */	if (EP_IS_LINKED(&epi->rdllink))		EP_LIST_DEL(&epi->rdllink);	error = 0;eexit_1:	DNPRINTK(3, (KERN_INFO "[%p] eventpoll: ep_unlink(%p, %p) = %d\n",		     current, ep, epi->file, error));	return error;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b030a4dd609e167da7f73c2d1fa5af864a0aea17/eventpoll.c/clean/fs/eventpoll.c