bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Reuben Thomas
Subject: bug#17036: Continuation for Emacs: invoking a process on exit?
Date: Fri, 21 Mar 2014 10:25:54 +0000

On 21 March 2014 10:18, Eli Zaretskii <eliz@gnu.org> wrote:
> Date: Fri, 21 Mar 2014 10:09:10 +0000
> From: Reuben Thomas <rrt@sc3d.org>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, Andreas Schwab <schwab@linux-m68k.org>,
>       17036@debbugs.gnu.org
>
> > As long as it does what you want, fine.  But please note that this is
> > not the same as exiting Emacs and starting a new session, because the
> > original Emacs didn't shut down all the way, and the PID is the same.
> >
>
> I think I'm still being unclear, sorry.
>
> I am assuming that all the regular atexit handlers have already been
> called, and that Emacs is really about to exit. (That is what I mean by
> saying that kill-emacs has been run.) So, this could be implemented by
> ensuring that the first atexit handler to be registered on startup checks a
> "kill-emacs-and-exec" flag, and if it is set, does the exec.

Assuming a call to 'exec' is allowed in an atexit handler.  (I don't
know if it is.)

The only restrictions I can find are that a) if an atexit handler calls _exit, the remaining handlers are not called; b) if the process is terminated by a signal, the handlers are not called. The only thing you can't do is call exit() or longjmp(). You can even call "atexit" from an atexit handler (the new handler is pushed on the front of the remaining queue).

--
http://rrt.sc3d.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]