GNU bug report logs - #1058
23.0.60; emacs --daemon should not return until socket is ready

Previous Next

Package: emacs;

Reported by: SRS0+wOMF+22+gmail.com=trentbuck <at> internode.on.net

Date: Tue, 30 Sep 2008 14:10:04 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


Message #60 received at 1058 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Dan Nicolaescu <dann <at> ics.uci.edu>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 1058 <at> debbugs.gnu.org, Romain Francoise <romain <at> orebokech.com>,
        trentbuck <at> gmail.com
Subject: Re: bug#1058: 23.0.60; emacs --daemon should not return until socket is ready
Date: Thu, 2 Oct 2008 10:26:38 -0700 (PDT)
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.