aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoakim Verona2013-08-22 20:42:15 +0200
committerJoakim Verona2013-08-22 20:42:15 +0200
commitfffcc46aabbe28b6f2ef8427f858abe58d3b615e (patch)
tree5450c65192f55d1f8649cf97584d5f589053d0de /src
parentef581ca7da4e9903cad73837cd451fd969adcdbd (diff)
parent2649579468273544ead2ed1c16b224a75ec3a895 (diff)
downloademacs-fffcc46aabbe28b6f2ef8427f858abe58d3b615e.tar.gz
emacs-fffcc46aabbe28b6f2ef8427f858abe58d3b615e.zip
merge from trunk
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/lisp.h1
-rw-r--r--src/process.c18
-rw-r--r--src/sysdep.c10
4 files changed, 9 insertions, 25 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 8983b6abd64..ebd41a61203 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12013-08-22 Paul Eggert <eggert@cs.ucla.edu>
2
3 * process.c (flush_pending_output): Remove stub.
4 All uses removed.
5
12013-08-21 Paul Eggert <eggert@cs.ucla.edu> 62013-08-21 Paul Eggert <eggert@cs.ucla.edu>
2 7
3 * callproc.c: Fix race that killed background processes (Bug#15144). 8 * callproc.c: Fix race that killed background processes (Bug#15144).
diff --git a/src/lisp.h b/src/lisp.h
index c672b5f3192..34c70f9d1f5 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4105,7 +4105,6 @@ extern void init_sys_modes (struct tty_display_info *);
4105extern void reset_sys_modes (struct tty_display_info *); 4105extern void reset_sys_modes (struct tty_display_info *);
4106extern void init_all_sys_modes (void); 4106extern void init_all_sys_modes (void);
4107extern void reset_all_sys_modes (void); 4107extern void reset_all_sys_modes (void);
4108extern void flush_pending_output (int) ATTRIBUTE_CONST;
4109extern void child_setup_tty (int); 4108extern void child_setup_tty (int);
4110extern void setup_pty (int); 4109extern void setup_pty (int);
4111extern int set_window_size (int, int, int); 4110extern int set_window_size (int, int, int);
diff --git a/src/process.c b/src/process.c
index 349ec26534b..75cb590fc57 100644
--- a/src/process.c
+++ b/src/process.c
@@ -3846,15 +3846,12 @@ deactivate_process (Lisp_Object proc)
3846 } 3846 }
3847#endif 3847#endif
3848 3848
3849 inchannel = p->infd;
3850
3851 /* Beware SIGCHLD hereabouts. */ 3849 /* Beware SIGCHLD hereabouts. */
3852 if (inchannel >= 0)
3853 flush_pending_output (inchannel);
3854 3850
3855 for (i = 0; i < PROCESS_OPEN_FDS; i++) 3851 for (i = 0; i < PROCESS_OPEN_FDS; i++)
3856 close_process_fd (&p->open_fd[i]); 3852 close_process_fd (&p->open_fd[i]);
3857 3853
3854 inchannel = p->infd;
3858 if (inchannel >= 0) 3855 if (inchannel >= 0)
3859 { 3856 {
3860 p->infd = -1; 3857 p->infd = -1;
@@ -5785,10 +5782,9 @@ process_send_signal (Lisp_Object process, int signo, Lisp_Object current_group,
5785 return; 5782 return;
5786 } 5783 }
5787 5784
5788 switch (signo)
5789 {
5790#ifdef SIGCONT 5785#ifdef SIGCONT
5791 case SIGCONT: 5786 if (signo == SIGCONT)
5787 {
5792 p->raw_status_new = 0; 5788 p->raw_status_new = 0;
5793 pset_status (p, Qrun); 5789 pset_status (p, Qrun);
5794 p->tick = ++process_tick; 5790 p->tick = ++process_tick;
@@ -5797,14 +5793,8 @@ process_send_signal (Lisp_Object process, int signo, Lisp_Object current_group,
5797 status_notify (NULL); 5793 status_notify (NULL);
5798 redisplay_preserve_echo_area (13); 5794 redisplay_preserve_echo_area (13);
5799 } 5795 }
5800 break;
5801#endif /* ! defined (SIGCONT) */
5802 case SIGINT:
5803 case SIGQUIT:
5804 case SIGKILL:
5805 flush_pending_output (p->infd);
5806 break;
5807 } 5796 }
5797#endif
5808 5798
5809 /* If we don't have process groups, send the signal to the immediate 5799 /* If we don't have process groups, send the signal to the immediate
5810 subprocess. That isn't really right, but it's better than any 5800 subprocess. That isn't really right, but it's better than any
diff --git a/src/sysdep.c b/src/sysdep.c
index 201ba9d104d..78e3d908cfe 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -337,16 +337,6 @@ child_status_changed (pid_t child, int *status, int options)
337 return get_child_status (child, status, WNOHANG | options, 0); 337 return get_child_status (child, status, WNOHANG | options, 0);
338} 338}
339 339
340/*
341 * flush any pending output
342 * (may flush input as well; it does not matter the way we use it)
343 */
344
345void
346flush_pending_output (int channel)
347{
348 /* FIXME: maybe this function should be removed */
349}
350 340
351/* Set up the terminal at the other end of a pseudo-terminal that 341/* Set up the terminal at the other end of a pseudo-terminal that
352 we will be controlling an inferior through. 342 we will be controlling an inferior through.