Subject: Re: bug#17036: Continuation for Emacs: invoking a process on exit?

From: Eli Zaretskii <[email-masked]>
Date: Thu, 20 Mar 2014 05:45:18 +0200

> Date: Wed, 19 Mar 2014 21:14:22 +0000
> From: Reuben Thomas <[email-masked]>
> Cc: Stefan Monnier <[email-masked]>, Andreas Schwab <[email-masked]>, 
> 	[email-masked]
> 
> > Don't believe the sales people.  MS's execvp is buggy, and even if we
> > forget about those bugs, it won't do what is expected here: it won't
> > keep the file descriptors open in the original process still open in
> > the overlaid process.  That's because there's no 'exec' system call on
> > Windows, so execvp is _emulated_: the original process simply invokes
> > the new one as its child process, and then immediately exits.
> >
> 
> That's good enough for restart-emacs.

Maybe so, it's hard to say, since you never described what that should
do.

> > So the answer to Stefan is: no, this cannot be done on Windows, not
> > without some custom code to let the re-executed Emacs inherit all of
> > the file descriptors which were open in the original Emacs process.
> >
> 
> It's fine for what i had in mind, namely Emacs simply launching another
> command with arguments, much as a Lisp callcc. This could be documented as
> a limitation on Windows.

I very much doubt that this limitation would not render the whole
issue moot on Windows.  E.g., how will restart-emacs then be different
from a simple call-process?  But again, since you didn't say what the
feature is supposed to do, ...