2015-11-23 9:11 GMT+01:00 John Crispin <blo...@openwrt.org>: > > > On 23/11/2015 09:09, Etienne Champetier wrote: > > Hi, > > > > Le 23 nov. 2015 08:18, "John Crispin" <blo...@openwrt.org > > <mailto:blo...@openwrt.org>> a écrit : > >> > >> > >> > >> On 23/11/2015 01:39, Etienne CHAMPETIER wrote: > >> > spawn_jail(void) produce a compilation error, > >> > so we use spawn_jail() > >> > > >> > Signed-off-by: Etienne CHAMPETIER <champetier.etie...@gmail.com > > <mailto:champetier.etie...@gmail.com>> > >> > --- > >> > jail/jail.c | 4 ++-- > >> > 1 file changed, 2 insertions(+), 2 deletions(-) > >> > > >> > diff --git a/jail/jail.c b/jail/jail.c > >> > index 56dc9ca..08babde 100644 > >> > --- a/jail/jail.c > >> > +++ b/jail/jail.c > >> > @@ -272,7 +272,7 @@ static int exec_jail() > >> > exit(EXIT_FAILURE); > >> > } > >> > > >> > -static int spawn_jail(void *arg) > >> > +static int spawn_jail() > >> > >> Hi, > >> > >> this is still wrong. also you might want to write a sentence why it is > >> useless. > >> > > > > Well, we don't use it, and passing arg to not use it really doesn't > > improve readability. > > > > I know it break your code style, but it seems we can't have both here :( > > > > Etienne > > > >> John > > > i wont merge it until there is a (void). it is valid code. try it and > you will see that i am right. > > sorry my commit message is bad
try to put NULL at the end of the clone() call, and try with spawn_jail() and spawn_jail(void), and you will see i know that spawn_jail(void) is valid code, but then the clone call refuses to compile */home/etienne/procd/jail/jail.c: In function ‘main’:* > */home/etienne/procd/jail/jail.c:381:4: error: passing argument 1 of > ‘clone’ from incompatible pointer type [-Werror]* > * CLONE_NEWUTS | CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | SIGCHLD, > NULL);* > * ^* > *In file included from /usr/include/sched.h:41:0,* > * from /home/etienne/procd/jail/jail.c:26:* > */usr/include/x86_64-linux-gnu/bits/sched.h:81:12: note: expected ‘int > (*)(void *)’ but argument is of type ‘int (*)(void)’* > * extern int clone (int (*__fn) (void *__arg), void *__child_stack,* > * ^* > *cc1: all warnings being treated as errors* > *make[2]: *** [CMakeFiles/ujail.dir/jail/jail.c.o] Error 1* > *make[1]: *** [CMakeFiles/ujail.dir/all] Error 2* > *make: *** [all] Error 2* > > > >> > >> > { > >> > if (opts.name <http://opts.name> && sethostname(opts.name > > <http://opts.name>, strlen(opts.name <http://opts.name>))) { > >> > ERROR("failed to sethostname: %s\n", strerror(errno)); > >> > @@ -424,7 +424,7 @@ int main(int argc, char **argv) > >> > if (opts.namespace) { > >> > jail_process.pid = clone(spawn_jail, > >> > child_stack + STACK_SIZE, > >> > - CLONE_NEWUTS | CLONE_NEWPID | CLONE_NEWNS | > > CLONE_NEWIPC | SIGCHLD, argv); > >> > + CLONE_NEWUTS | CLONE_NEWPID | CLONE_NEWNS | > > CLONE_NEWIPC | SIGCHLD, NULL); > >> > } else { > >> > jail_process.pid = fork(); > >> > } > >> > > > >
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel