comparison src/process-unix.c @ 930:eaedf30d9d76

[xemacs-hg @ 2002-07-23 08:34:59 by youngs] 2002-07-15 Jerry James <james@xemacs.org> * make-docfile.c: Change whitespace and organization to reduce the size of the diff against FSF Emacs sources and synch to Emacs 21.2. Remove unused DO_REALLOC. Mark XEmacs changes and additions more clearly. Reintroduce previously deleted Emacs code inside #if 0 ... #endif. * make-docfile.c (next_extra_elc): Replace goto with do-while. * make-docfile.c (main): Put XEmacs-only args in one place. * make-docfile.c (write_c_args): Change buff to buf to match Emacs. Replace pointer arithmetic with simpler array syntax. * make-docfile.c (scan_c_file): Note that DEFSIMPLE and DEFPRED no longer exist. Correct the "name too long" test (off by one). Die with message if a DEFUN has no docstring instead of hanging. * make-docfile.c (scan_lisp_file): Introduce while loops used in Emacs sources to skip consecutive blank lines. 2002-07-21 John Paul Wallington <jpw@xemacs.org> * process.el (substitute-env-vars): New function; sync with GNU Emacs 21.1.50. (setenv): Add optional arg SUBSTITUTE-ENV-VARS; sync with GNU Emacs 21.1.50. 2002-07-20 Mike Sperber <mike@xemacs.org> * eval.c (run_post_gc_hook): Use more correct flags when running post-gc-hook. 2002-07-20 Mike Sperber <mike@xemacs.org> * process-unix.c (child_setup): Don't try to close file descriptors for chid process once again---it's already being done in close_process_descs. (unix_create_process): Call begin_dont_check_for_quit to inhibit unwanted interaction (and thus breaking of X event synchronicity) in the child. 2002-07-15 Jerry James <james@xemacs.org> * lisp.h: Make Qdll_error visible globally. * symbols.c (check_sane_subr): Revert 2002-06-26 change. Check only if !initialized. * symbols.c (check_module_subr): Add parameter. Duplicate check_sane_subr checks, but signal an error instead of asserting. * symbols.c (defsubr): Use check_module_subr parameter. * symbols.c (defsubr_macro): Ditto.
author youngs
date Tue, 23 Jul 2002 08:35:11 +0000
parents b0c24ea6a2a8
children 5c7570514cc5
comparison
equal deleted inserted replaced
929:0c272be3414c 930:eaedf30d9d76
1021 1021
1022 retry_close (in); 1022 retry_close (in);
1023 retry_close (out); 1023 retry_close (out);
1024 retry_close (err); 1024 retry_close (err);
1025 1025
1026 /* I can't think of any reason why child processes need any more
1027 than the standard 3 file descriptors. It would be cleaner to
1028 close just the ones that need to be, but the following brute
1029 force approach is certainly effective, and not too slow.
1030
1031 #### Who the hell added this? We already close the descriptors
1032 by using close_process_descs()!!! --ben */
1033 {
1034 int fd;
1035 for (fd = 3; fd <= 64; fd++)
1036 retry_close (fd);
1037 }
1038
1039 /* we've wrapped execve; it translates its arguments */ 1026 /* we've wrapped execve; it translates its arguments */
1040 qxe_execve (new_argv[0], new_argv, env); 1027 qxe_execve (new_argv[0], new_argv, env);
1041 1028
1042 stdout_out ("Can't exec program %s\n", new_argv[0]); 1029 stdout_out ("Can't exec program %s\n", new_argv[0]);
1043 _exit (1); 1030 _exit (1);
1137 { 1124 {
1138 /**** Now we're in the child process ****/ 1125 /**** Now we're in the child process ****/
1139 int xforkin = forkin; 1126 int xforkin = forkin;
1140 int xforkout = forkout; 1127 int xforkout = forkout;
1141 int xforkerr = forkerr; 1128 int xforkerr = forkerr;
1129
1130 /* Checking for quit in the child is bad because that will
1131 cause I/O, and that, in turn, can confuse the X connection. */
1132 begin_dont_check_for_quit();
1142 1133
1143 /* Disconnect the current controlling terminal, pursuant to 1134 /* Disconnect the current controlling terminal, pursuant to
1144 making the pty be the controlling terminal of the process. 1135 making the pty be the controlling terminal of the process.
1145 Also put us in our own process group. */ 1136 Also put us in our own process group. */
1146 1137