diff --git a/src/ChangeLog b/src/ChangeLog index 2749399d392..1ec84a72d2d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2013-12-28 Paul Eggert + + Fix pipe bug with OS X emacs --daemon (Bug#16262). + * emacs.c (main) [DAEMON_MUST_EXEC]: Clear the close-on-exec + flags on the daemon pipe ends before execing. + 2013-12-28 Eli Zaretskii * w32fns.c (Fx_create_frame): Error out if called from a TTY diff --git a/src/emacs.c b/src/emacs.c index 35e8ff330c9..b5bd3129ad2 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1099,6 +1099,8 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem argv[skip_args] = fdStr; + fcntl (daemon_pipe[0], F_SETFD, 0); + fcntl (daemon_pipe[1], F_SETFD, 0); execvp (argv[0], argv); emacs_perror (argv[0]); exit (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE);