mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-01 08:17:38 +00:00
emacsclient: fix child exit when exec fails
* lib-src/emacsclient.c (start_daemon_and_retry_set_socket): If the execvp of Emacs fails exit instead of having the child run on and do the work of the parent. Coalesce duplicate code.
This commit is contained in:
parent
ef1f60301a
commit
652dabfff6
@ -1484,13 +1484,6 @@ start_daemon_and_retry_set_socket (void)
|
|||||||
/* Try connecting, the daemon should have started by now. */
|
/* Try connecting, the daemon should have started by now. */
|
||||||
message (true,
|
message (true,
|
||||||
"Emacs daemon should have started, trying to connect again\n");
|
"Emacs daemon should have started, trying to connect again\n");
|
||||||
|
|
||||||
if ((emacs_socket = set_socket (1)) == INVALID_SOCKET)
|
|
||||||
{
|
|
||||||
message (true, ("Error: Cannot connect "
|
|
||||||
"even after starting the Emacs daemon\n"));
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (dpid < 0)
|
else if (dpid < 0)
|
||||||
{
|
{
|
||||||
@ -1518,6 +1511,7 @@ start_daemon_and_retry_set_socket (void)
|
|||||||
# endif
|
# endif
|
||||||
execvp ("emacs", d_argv);
|
execvp ("emacs", d_argv);
|
||||||
message (true, "%s: error starting emacs daemon\n", progname);
|
message (true, "%s: error starting emacs daemon\n", progname);
|
||||||
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
# else /* WINDOWSNT */
|
# else /* WINDOWSNT */
|
||||||
DWORD wait_result;
|
DWORD wait_result;
|
||||||
@ -1583,13 +1577,15 @@ start_daemon_and_retry_set_socket (void)
|
|||||||
if (!w32_window_app ())
|
if (!w32_window_app ())
|
||||||
message (true,
|
message (true,
|
||||||
"Emacs daemon should have started, trying to connect again\n");
|
"Emacs daemon should have started, trying to connect again\n");
|
||||||
if ((emacs_socket = set_socket (1)) == INVALID_SOCKET)
|
# endif /* WINDOWSNT */
|
||||||
|
|
||||||
|
emacs_socket = set_socket (true);
|
||||||
|
if (emacs_socket == INVALID_SOCKET)
|
||||||
{
|
{
|
||||||
message (true,
|
message (true,
|
||||||
"Error: Cannot connect even after starting the Emacs daemon\n");
|
"Error: Cannot connect even after starting the Emacs daemon\n");
|
||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
# endif /* WINDOWSNT */
|
|
||||||
}
|
}
|
||||||
#endif /* HAVE_SOCKETS && HAVE_INET_SOCKETS */
|
#endif /* HAVE_SOCKETS && HAVE_INET_SOCKETS */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user