Messages in this thread | | | Date | Tue, 20 Nov 2007 10:13:01 +0100 | From | Eric Dumazet <> | Subject | Re: [PATCHv4 0/6] sys_indirect system call |
| |
Ulrich Drepper a écrit : > wing patches provide an alternative implementation of the > sys_indirect system call which has been discussed a few times. > This no system call allows us to extend existing system call > interfaces with adding more system calls.
I am wondering if some parts are missing from your ChangeLog
You apparently added in v3 a new 'flags' parameter to indirect syscall but no trace of this change in Changelog, and why it was added. This seems to imply a future multiplexor.
And no change in the test program reflecting this 'flags' new param, so it fails.
> fd = syscall (__NR_indirect, &r, &i, sizeof (i));
should be fd = syscall (__NR_indirect, &r, &i, sizeof (i), 0);
> int s2 = fcntl (fd, F_GETFD); > int t2 = fcntl (fd, F_GETFL); > printf ("new: FD_CLOEXEC %s set, NONBLOCK %s set\n", > s2 == 0 ? "not" : "is", (t2 & O_NONBLOCK) ? "is" : "not"); > close (fd); > > i.file_flags.flags = O_CLOEXEC; > sigset_t ss; > sigemptyset(&ss); > FILL_IN(r, __NR_signalfd, -1, (long) &ss, 8); > fd = syscall (__NR_indirect, &r, &i, sizeof (i));
same here ?
> int s3 = fcntl (fd, F_GETFD); > printf ("signalfd: FD_CLOEXEC %s set\n", s3 == 0 ? "not" : "is"); > close (fd); > > FILL_IN(r, __NR_eventfd, 8); > fd = syscall (__NR_indirect, &r, &i, sizeof (i));
and here.
> int s4 = fcntl (fd, F_GETFD); > printf ("eventfd: FD_CLOEXEC %s set\n", s4 == 0 ? "not" : "is"); > close (fd); > > return s1 != 0 || s2 == 0 || t1 != 0 || t2 == 0 || s3 == 0 || s4 == 0; > } > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 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/
| |