Messages in this thread | | | From | Changli Gao <> | Date | Sun, 30 May 2010 11:25:19 +0800 | Subject | Re: [PATCH v2 3/4]: sendfile: remove flags paramter of do_splice_direct() |
| |
On Sun, May 30, 2010 at 8:39 AM, Steven Rostedt <rostedt@goodmis.org> wrote: > Probably because I copied the code from something that used > SPLICE_F_NONBLOCK ;-) >
From the relay API implementation?
> But userspace passes that flag too. Although, maybe I just don't > understand the API fully. >
this flag is a little confusing. It is much like:
flags = fcntl(pipe_fd, F_GETFL); fcntl(pipe_fd, F_SETFL, flags | O_NONBLOCK); splice(..pipe_fd..., 0); // without O_NONBLOCK fcntl(pipe_fd, F_SETFL, falgs);
In fact, setting O_NONBLOCK is the only way of letting splice pipe operations non-blockable currently. When splicing, splice doesn't refer to the pipe file's f_flags. :(
-- Regards, Changli Gao(xiaosuo@gmail.com) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |