Mercurial > emacs
changeset 111550:876a7947c90d
* src/callproc.c (child_setup): Reorder code to simplify #ifdefs.
No code changes.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Mon, 15 Nov 2010 09:11:08 -0800 |
parents | fa7baa1af30c |
children | 3207606734d5 |
files | src/ChangeLog src/callproc.c |
diffstat | 2 files changed, 22 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Mon Nov 15 13:27:33 2010 +0100 +++ b/src/ChangeLog Mon Nov 15 09:11:08 2010 -0800 @@ -1,5 +1,8 @@ 2010-11-15 Dan Nicolaescu <dann@ics.uci.edu> + * callproc.c (child_setup): Reorder code to simplify #ifdefs. + No code changes. + * process.c: Include <sys/ioctl.h> unconditionally, keyboard.c already does it.
--- a/src/callproc.c Mon Nov 15 13:27:33 2010 +0100 +++ b/src/callproc.c Mon Nov 15 09:11:08 2010 -0800 @@ -1154,6 +1154,14 @@ #ifdef WINDOWSNT prepare_standard_handles (in, out, err, handles); set_process_dir (SDATA (current_dir)); + /* Spawn the child. (See ntproc.c:Spawnve). */ + cpid = spawnve (_P_NOWAIT, new_argv[0], new_argv, env); + reset_standard_handles (in, out, err, handles); + if (cpid == -1) + /* An error occurred while trying to spawn the process. */ + report_file_error ("Spawning child process", Qnil); + return cpid; + #else /* not WINDOWSNT */ /* Make sure that in, out, and err are not actually already in descriptors zero, one, or two; this could happen if Emacs is @@ -1192,34 +1200,15 @@ emacs_close (out); if (err != in && err != out) emacs_close (err); -#endif /* not MSDOS */ -#endif /* not WINDOWSNT */ #if defined(USG) #ifndef SETPGRP_RELEASES_CTTY setpgrp (); /* No arguments but equivalent in this case */ #endif -#else +#else /* not USG */ setpgrp (pid, pid); -#endif /* USG */ +#endif /* not USG */ -#ifdef MSDOS - pid = run_msdos_command (new_argv, pwd_var + 4, in, out, err, env); - xfree (pwd_var); - if (pid == -1) - /* An error occurred while trying to run the subprocess. */ - report_file_error ("Spawning child process", Qnil); - return pid; -#else /* not MSDOS */ -#ifdef WINDOWSNT - /* Spawn the child. (See ntproc.c:Spawnve). */ - cpid = spawnve (_P_NOWAIT, new_argv[0], new_argv, env); - reset_standard_handles (in, out, err, handles); - if (cpid == -1) - /* An error occurred while trying to spawn the process. */ - report_file_error ("Spawning child process", Qnil); - return cpid; -#else /* not WINDOWSNT */ /* setpgrp_of_tty is incorrect here; it uses input_fd. */ tcsetpgrp (0, pid); @@ -1233,8 +1222,15 @@ emacs_write (1, new_argv[0], strlen (new_argv[0])); emacs_write (1, "\n", 1); _exit (1); -#endif /* not WINDOWSNT */ -#endif /* not MSDOS */ + +#else /* MSDOS */ + pid = run_msdos_command (new_argv, pwd_var + 4, in, out, err, env); + xfree (pwd_var); + if (pid == -1) + /* An error occurred while trying to run the subprocess. */ + report_file_error ("Spawning child process", Qnil); + return pid; +#endif /* MSDOS */ } #ifndef WINDOWSNT