lkml.org 
[lkml]   [2003]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [RFD] Combined fork-exec syscall.
    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/

    \
     
     \ /
      Last update: 2005-03-22 13:35    [from the cache]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean