GNU bug report logs -
#1058
23.0.60; emacs --daemon should not return until socket is ready
Previous Next
Full log
View this message in rfc822 format
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> >> > It would be much better if this could be done without a state
> >> > changing function callable from elisp.
> >> I agree, but given that control passes to Lisp pretty early, I don't
> >> see how it can be done.
> > That's exactly the reason for my initial reply...
> > Anyway, your patch probably needs an approval from a maintainer.
>
> I could accept a similar patch, maybe, but first I need to understand
> why/where we currently "detach" so early.
Where? in emacs.c:main, look for:
if (argmatch (argv, argc, "-daemon", "--daemon", 5, NULL, &skip_args))
{
#ifndef DOS_NT
pid_t f = fork ();
Why?
- mainly because I never thought about the emacs --daemon && emacsclient use-case.
- in order to not make detaching an elisp function, and have to deal
with users trying to call it from different contexts
- the `fork' call for detaching needs to happen before some of the
initialization is run (although after my 2008-09-28 change it might be
possible to push it later), and also before .emacs is run and before
the server is started.
This bug report was last modified 16 years and 201 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.