|
Subject: Re: [PATCH] alternative to sys_indirect, part 1 Newsgroups: gmane.linux.man, gmane.linux.kernel, gmane.linux.network Date: 2008-04-24 14:49:31 GMT (31 weeks, 5 days, 8 hours and 49 minutes ago) Michael Kerrisk wrote: > * dup2() -- use fcntl(F_DUPFD) instead Wrong. You cannot implement dup2 with fcntl since the latter won't use a file descriptor which is already in use. > So the alternative to sys_indirect(), at least for the purpose of > O_CLOEXEC and similar, would be to create 5 new system calls (or six, > if one finds the signalfd() hack too ugly, which perhaps it is; or 7 > if one doesn't like Alan's suggestion for socket() Without changing the socket interfaces (plural, socketpair) there would have to be 7 new syscalls, with changing socket* to an IMO cleaner interface 9. Or we just add sys_indirect (which is also usable for other syscall extensions, not just the CLOEXEC stuff) and let userlevel (i.e., me) worry about adding new interfaces to libc. As you can see, for the more recent interfaces like signalfd I have already added an additional parameter so the number of interface changes would be reduced. Somebody please make a call and then let's go on with life. I don't care much either way anymore. I do hope nobody thinks this is an issue which can be completely ignored (see, e.g., the bug I pointed to the other day). -- ➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖ |
|
|