Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Jun 1997 19:03:52 +0100 (MET DST)
From:      Matthias Buelow <token@wicx50.informatik.uni-wuerzburg.de>
To:        borjam@we.lc.ehu.es (Borja Marcos)
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Linux clone() system call
Message-ID:  <9706041703.AA09686@wicx01.informatik.uni-wuerzburg.de>
In-Reply-To: <9706041530.AA02422@sirius.we.lc.ehu.es> from "Borja Marcos" at Jun 4, 97 05:30:55 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 	Anyone knows what is the clone() system call in Lunux?
> It seems not to be supported by the Linux emulator. I tried running
> the Linux version of Inferno and it died with something like
> "clone(): unimplemented system call".
> 
> 	I did a "man clone" in a Linux box and it gave me
> the "undocumented calls" man page.

CLONE(2)            Linux Programmer's Manual            CLONE(2)

NAME
       clone - create a child process

SYNOPSIS
       #include <linux/sched.h>
       #include <linux/unistd.h>

       pid_t clone(void *sp, unsigned long flags)

DESCRIPTION
       clone  is  an  alternate  interface  to  fork,  with  more
       options.  fork is equivalent to clone(0, SIGCLD|COPYVM).

[...]


clone(2) is a Linux-unique system call (they formed it after a Plan9
syscall afaik) and not portable.
It looks more or less like a kludgy hack interface to fork/vfork
especially when you consider the following :-) :

ERRORS
       ENOSYS clone  will  always  return this error, unless your
              kernel was  compiled  with  CLONE_ACTUALLY_WORKS_OK
              defined.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9706041703.AA09686>