* emacs.c (main): Print and error and exit when no data is read
from the pipe. * startup.el (command-line): Do not mention the server name in case the user has not mentioned it, print a more explicit message. * emacsclient.c (start_daemon_and_retry_set_socket): Improve error checking.
This commit is contained in:
parent
059f0a612a
commit
fd95644b93
6 changed files with 38 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* emacsclient.c (start_daemon_and_retry_set_socket): Improve error
|
||||
checking.
|
||||
|
||||
2008-12-14 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* emacsclient.c: Include syswait.h instead of sys/types.h.
|
||||
|
|
|
@ -1433,23 +1433,31 @@ start_daemon_and_retry_set_socket (void)
|
|||
#ifndef WINDOWSNT
|
||||
pid_t dpid;
|
||||
int status;
|
||||
pid_t p;
|
||||
|
||||
dpid = fork ();
|
||||
|
||||
if (dpid > 0)
|
||||
{
|
||||
p = waitpid (dpid, &status, WUNTRACED | WCONTINUED);
|
||||
pid_t w;
|
||||
w = waitpid (dpid, &status, WUNTRACED | WCONTINUED);
|
||||
|
||||
/* Try connecting again, the daemon should have started by
|
||||
now. */
|
||||
message (TRUE, "daemon should have started, trying to connect again\n", dpid);
|
||||
if ((w == -1) || !WIFEXITED (status) || WEXITSTATUS(status))
|
||||
{
|
||||
message (TRUE, "Error: Could not start the Emacs daemon\n");
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* Try connecting, the daemon should have started by now. */
|
||||
message (TRUE, "Emacs daemon should have started, trying to connect again\n");
|
||||
if ((emacs_socket = set_socket (1)) == INVALID_SOCKET)
|
||||
message (TRUE, "Cannot connect even after starting the daemon\n");
|
||||
{
|
||||
message (TRUE, "Error: Cannot connect even after starting the Emacs daemon\n");
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
else if (dpid < 0)
|
||||
{
|
||||
fprintf (stderr, "Cannot fork!\n");
|
||||
fprintf (stderr, "Error: Cannot fork!\n");
|
||||
exit (1);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* startup.el (command-line): Do not mention the server name in
|
||||
case the user has not mentioned it, print a more explicit message.
|
||||
|
||||
* vc-dir.el (vc-dir-at-event): Rename from vc-at-event. Change
|
||||
all callers.
|
||||
|
||||
|
|
|
@ -1223,7 +1223,11 @@ the `--debug-init' option to view a complete error backtrace."
|
|||
(server-start)
|
||||
(if server-process
|
||||
(daemon-initialized)
|
||||
(message "Unable to start daemon: Emacs server named %S already running" server-name)
|
||||
(if (stringp dn)
|
||||
(message
|
||||
"Unable to start daemon: Emacs server named %S already running"
|
||||
server-name)
|
||||
(message "Unable to start the daemon.\nAnother instance of Emacs is running the server, either as daemon or interactively.\nYou can use emacsclient to connect to that Emacs process."))
|
||||
(kill-emacs 1))))
|
||||
|
||||
;; Run emacs-session-restore (session management) if started by
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* emacs.c (main): Print and error and exit when no data is read
|
||||
from the pipe.
|
||||
|
||||
2008-12-17 Jason Rumney <jasonr@gnu.org>
|
||||
|
||||
* w32font.c (w32font_has_char): Always return -1.
|
||||
|
|
|
@ -1129,6 +1129,11 @@ main (int argc, char **argv)
|
|||
fprintf (stderr, "Error reading status from child\n");
|
||||
exit (1);
|
||||
}
|
||||
else if (retval == 0)
|
||||
{
|
||||
fprintf (stderr, "Error: server did not start correctly\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
close (daemon_pipe[0]);
|
||||
exit (0);
|
||||
|
|
Loading…
Add table
Reference in a new issue