projects
/
chise
/
xemacs-chise.git-
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update.
[chise/xemacs-chise.git-]
/
src
/
process-unix.c
diff --git
a/src/process-unix.c
b/src/process-unix.c
index
00bb163
..
af75a8e
100644
(file)
--- a/
src/process-unix.c
+++ b/
src/process-unix.c
@@
-892,6
+892,7
@@
unix_create_process (Lisp_Process *p,
#endif
set_descriptor_non_blocking (inchannel);
#endif
set_descriptor_non_blocking (inchannel);
+ set_descriptor_non_blocking (outchannel);
/* Record this as an active process, with its channels.
As a result, child_setup will close Emacs's side of the pipes. */
/* Record this as an active process, with its channels.
As a result, child_setup will close Emacs's side of the pipes. */
@@
-914,6
+915,10
@@
unix_create_process (Lisp_Process *p,
int xforkin = forkin;
int xforkout = forkout;
int xforkin = forkin;
int xforkout = forkout;
+ /* Checking for quit in the child is bad because that will
+ cause I/O, and that, in turn, can confuse the X connection. */
+ begin_dont_check_for_quit();
+
/* Disconnect the current controlling terminal, pursuant to
making the pty be the controlling terminal of the process.
Also put us in our own process group. */
/* Disconnect the current controlling terminal, pursuant to
making the pty be the controlling terminal of the process.
Also put us in our own process group. */
@@
-1339,7
+1344,7
@@
unix_send_process (Lisp_Object proc, struct lstream* lstream)
p->core_dumped = 0;
p->tick++;
process_tick++;
p->core_dumped = 0;
p->tick++;
process_tick++;
- deactivate_process (vol_proc);
+ deactivate_process (*((Lisp_Object *) (&vol_proc)));
invalid_operation ("SIGPIPE raised on process; closed it", p->name);
}
invalid_operation ("SIGPIPE raised on process; closed it", p->name);
}