if (!interruptible || req->sent) req->out.h.error = -EINTR; else req->out.h.error = -ERESTARTNOINTR;  
req->out.h.error = -EINTR; 
static void request_wait_answer(struct fuse_conn *fc, struct fuse_req *req,				int interruptible){	int intr;	spin_unlock(&fuse_lock);	if (interruptible)		intr = wait_event_interruptible(req->waitq, req->finished);	else		intr = request_wait_answer_nonint(req);	spin_lock(&fuse_lock);	if (intr && interruptible && req->sent) {		/* If request is already in userspace, only allow KILL		   signal to interrupt */		spin_unlock(&fuse_lock);		intr = request_wait_answer_nonint(req);		spin_lock(&fuse_lock);	}	if (!intr)		return;	if (!interruptible || req->sent)		req->out.h.error = -EINTR;	else		req->out.h.error = -ERESTARTNOINTR;	req->interrupted = 1;	if (req->locked) {		/* This is uninterruptible sleep, because data is		   being copied to/from the buffers of req.  During		   locked state, there mustn't be any filesystem		   operation (e.g. page fault), since that could lead		   to deadlock */		spin_unlock(&fuse_lock);		wait_event(req->waitq, !req->locked);		spin_lock(&fuse_lock);	}	if (!req->sent && !list_empty(&req->list)) {		list_del(&req->list);		__fuse_put_request(req);	} else if (!req->finished && req->sent)		background_request(fc, req);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/7c352bdf048811b8128019ffc1e886161e09c11c/dev.c/buggy/fs/fuse/dev.c