Пример #1
0
static void queue_request(struct fuse_conn *fc, struct fuse_req *req)
{
	req->in.h.len = sizeof(struct fuse_in_header) +
		len_args(req->in.numargs, (struct fuse_arg *) req->in.args);
	list_add_tail(&req->list, &fc->pending[is_rt(fc)]);
	req->state = FUSE_REQ_PENDING;
	if (!req->waiting) {
		req->waiting = 1;
		atomic_inc(&fc->num_waiting);
	}
	wake_up(&fc->waitq[is_rt(fc)]);
	kill_fasync(&fc->fasync, SIGIO, POLL_IN);
}
Пример #2
0
static void
queue_request(struct gfskdev_conn *dc, struct gfskdev_req *req)
{
	req->in.h.unique = gfskdev_get_unique(dc);
	req->in.h.len = sizeof(struct gfskdev_in_header) +
		len_args(req->in.numargs, (struct gfskdev_arg *) req->in.args);
	list_add_tail(&req->list, &dc->pending);
	req->state = GFSKDEV_REQ_PENDING;
	if (!req->waiting) {
		req->waiting = 1;
		atomic_inc(&dc->num_waiting);
	}
	wake_up(&dc->waitq);
	kill_fasync(&dc->fasync, SIGIO, POLL_IN);
}