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); }
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); }