Re: [RFD] Combined fork-exec syscall.

From: Rafael Costa dos Santos (rsantos@terenet.com.br)
Date: Mon Apr 28 2003 - 20:05:49 EST


Do you have some work done on this issue ?

4/27/03 9:57:12 PM, Mark Grosberg <mark@nolab.conman.org> wrote:

>
>Hello all,
>
>Is there any interest in a single system call that will perform both a
>fork() and exec()? Could this save some extra work of doing a
>copy_mm(), copy_signals(), etc?
>
>I would think on large, multi-user systems that are spawning processes all
>day, this might improve performance if the shells on such a system were
>patched.
>
>Perhaps a system call like:
>
> pid_t spawn(const char *p_path,
> const char *argv[],
> const char *envp[],
> const int filp[]);
>
>The filp array would allow file descriptors to be redirected. It could be
>terminated by a -1 and reference the file descriptors of the current
>process (this could also potentially save some dup() syscalls).
>
>If any of these parameters (exclusing p_path) are NULL, then the
>appropriate values are taken from the current process.
>
>I originally was thinking of a name of fexec() for such a syscall, but
>since there are already "f" variant syscalls (fchmod, fstat, ...) that an
>fexec() would make more sense about executing an already open file, so the
>name spawn() came to mind.
>
>I know almost all of my fork()-exec() code does almost the same thing. I
>guess vfork() was a potential solution, but this somehow seems cleaner
>(and still may be more efficient than having to issue two syscalls)...
>the downside is, of course, another syscall.
>
>L8r,
>Mark G.
>
>-
>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/
>
>

-
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/



This archive was generated by hypermail 2b29 : Wed Apr 30 2003 - 22:00:28 EST