aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorPaul Eggert2011-04-16 15:04:41 -0700
committerPaul Eggert2011-04-16 15:04:41 -0700
commit006c5daa682b5d951fb4a0d7945d45a722f0690b (patch)
tree11c7e798553240c48211d1b74cb36f7f86eb28e4 /src/process.c
parentefc736d31984b3c361db0bb28003db76df31d554 (diff)
downloademacs-006c5daa682b5d951fb4a0d7945d45a722f0690b.tar.gz
emacs-006c5daa682b5d951fb4a0d7945d45a722f0690b.zip
* process.c (keyboard_bit_set): Define only if SIGIO.
(send_process_trap): Mark it with NO_RETURN if it doesn't return. (send_process): Repair possible setjmp clobbering.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c
index c9c6ab6d4b3..d8851c56cf0 100644
--- a/src/process.c
+++ b/src/process.c
@@ -237,7 +237,9 @@ static int process_output_skip;
237 237
238static Lisp_Object Fget_process (Lisp_Object); 238static Lisp_Object Fget_process (Lisp_Object);
239static void create_process (Lisp_Object, char **, Lisp_Object); 239static void create_process (Lisp_Object, char **, Lisp_Object);
240#ifdef SIGIO
240static int keyboard_bit_set (SELECT_TYPE *); 241static int keyboard_bit_set (SELECT_TYPE *);
242#endif
241static void deactivate_process (Lisp_Object); 243static void deactivate_process (Lisp_Object);
242static void status_notify (struct Lisp_Process *); 244static void status_notify (struct Lisp_Process *);
243static int read_process_output (Lisp_Object, int); 245static int read_process_output (Lisp_Object, int);
@@ -5220,6 +5222,10 @@ read_process_output (Lisp_Object proc, register int channel)
5220static jmp_buf send_process_frame; 5222static jmp_buf send_process_frame;
5221static Lisp_Object process_sent_to; 5223static Lisp_Object process_sent_to;
5222 5224
5225#ifndef FORWARD_SIGNAL_TO_MAIN_THREAD
5226static void send_process_trap (int) NO_RETURN;
5227#endif
5228
5223static void 5229static void
5224send_process_trap (int ignore) 5230send_process_trap (int ignore)
5225{ 5231{
@@ -5360,6 +5366,8 @@ send_process (volatile Lisp_Object proc, const char *volatile buf,
5360 when returning with longjmp despite being declared volatile. */ 5366 when returning with longjmp despite being declared volatile. */
5361 if (!setjmp (send_process_frame)) 5367 if (!setjmp (send_process_frame))
5362 { 5368 {
5369 p = XPROCESS (proc); /* Repair any setjmp clobbering. */
5370
5363 process_sent_to = proc; 5371 process_sent_to = proc;
5364 while (len > 0) 5372 while (len > 0)
5365 { 5373 {
@@ -6583,6 +6591,8 @@ delete_gpm_wait_descriptor (int desc)
6583 delete_keyboard_wait_descriptor (desc); 6591 delete_keyboard_wait_descriptor (desc);
6584} 6592}
6585 6593
6594# ifdef SIGIO
6595
6586/* Return nonzero if *MASK has a bit set 6596/* Return nonzero if *MASK has a bit set
6587 that corresponds to one of the keyboard input descriptors. */ 6597 that corresponds to one of the keyboard input descriptors. */
6588 6598
@@ -6598,6 +6608,7 @@ keyboard_bit_set (fd_set *mask)
6598 6608
6599 return 0; 6609 return 0;
6600} 6610}
6611# endif
6601 6612
6602#else /* not subprocesses */ 6613#else /* not subprocesses */
6603 6614