X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fprocess-unix.c;h=424246f6f15bfb79cc7f177d68356e08e2a3ee5a;hp=e7fcc3da51f3c26b77d3ba089c21cbccec30c911;hb=ee38d21b330f5001b47a577cefb5ba7b82a3b7d3;hpb=ac7d0619aad74b1d57c4748ebb3ab29d9c32e3d8 diff --git a/src/process-unix.c b/src/process-unix.c index e7fcc3d..424246f 100644 --- 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); + 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. */ @@ -1298,7 +1299,7 @@ unix_send_process (Lisp_Object proc, struct lstream* lstream) chunklen = Lstream_read (lstream, chunkbuf, 512); if (chunklen <= 0) - break; /* perhaps should abort() if < 0? + break; /* perhaps should ABORT() if < 0? This should never happen. */ old_sigpipe = (SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap); @@ -1343,7 +1344,7 @@ unix_send_process (Lisp_Object proc, struct lstream* lstream) 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); }