|
From: | Adrian Robert |
Subject: | bug#1107: #1107 - 23.0.60; Emacs --daemon crashes when emacsclient tries to establish a connection on OS X - Emacs bug report logs |
Date: | Tue, 25 Nov 2008 15:08:31 -0500 |
http://developer.apple.com/ReleaseNotes/CoreFoundation/CoreFoundation.html (search for "fork"):
Due to the behavior of fork(), CoreFoundation cannot be used on the child-side of fork(). If you fork(), you must follow that with an exec*() call of some sort, and you should not use CoreFoundation APIs within the child, before the exec*().
I put in a really ugly hack that calls execve() in the child after the fork (which then means the daemonization has to be short-circuited the second time), and this works in all respects except:
The emacsclient must be given "--socket-name /tmp/emacs503/server" to find the server. Else it gives "No socket or alternate editor."
On the other hand, if I start emacs -Q and run 'server-start', this argument is NOT needed, and furthermore if it IS given it, it fails with "connect: Connection refused".
Any insight into what is happening here?
[Prev in Thread] | Current Thread | [Next in Thread] |