aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorMiles Bader2007-01-26 06:16:11 +0000
committerMiles Bader2007-01-26 06:16:11 +0000
commitc0466914ba3ad88c402b0301646b4b5db8aeb913 (patch)
tree964d8df324ab5f46872dfedc92ccea9fe50a1441 /src/process.c
parentc97a3f22ed5841f1c8bcdbb80df2bd49635c6a56 (diff)
parent58f8a3f97bd49484d0eb4f83a70662ded0daf9cc (diff)
downloademacs-c0466914ba3ad88c402b0301646b4b5db8aeb913.tar.gz
emacs-c0466914ba3ad88c402b0301646b4b5db8aeb913.zip
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 586-614) - Update from CVS - Update from erc--emacs--22 - Merge from gnus--rel--5.10 - Merge from erc--main--0 - Make byte compiler correctly write circular constants * gnus--rel--5.10 (patch 186-196) - Update from CVS - Merge from emacs--devo--0 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-162
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/process.c b/src/process.c
index 6dc5a88944c..4611ce2c05c 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1,7 +1,7 @@
1/* Asynchronous subprocess control for GNU Emacs. 1/* Asynchronous subprocess control for GNU Emacs.
2 Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 2 Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995,
3 1996, 1998, 1999, 2001, 2002, 2003, 2004, 3 1996, 1998, 1999, 2001, 2002, 2003, 2004,
4 2005, 2006 Free Software Foundation, Inc. 4 2005, 2006, 2007 Free Software Foundation, Inc.
5 5
6This file is part of GNU Emacs. 6This file is part of GNU Emacs.
7 7
@@ -814,9 +814,12 @@ nil, indicating the current buffer's process. */)
814 { 814 {
815#ifdef SIGCHLD 815#ifdef SIGCHLD
816 Lisp_Object symbol; 816 Lisp_Object symbol;
817 /* Assignment to EMACS_INT stops GCC whining about limited range
818 of data type. */
819 EMACS_INT pid = p->pid;;
817 820
818 /* No problem storing the pid here, as it is still in Vprocess_alist. */ 821 /* No problem storing the pid here, as it is still in Vprocess_alist. */
819 deleted_pid_list = Fcons (make_fixnum_or_float (p->pid), 822 deleted_pid_list = Fcons (make_fixnum_or_float (pid),
820 /* GC treated elements set to nil. */ 823 /* GC treated elements set to nil. */
821 Fdelq (Qnil, deleted_pid_list)); 824 Fdelq (Qnil, deleted_pid_list));
822 /* If the process has already signaled, remove it from the list. */ 825 /* If the process has already signaled, remove it from the list. */
@@ -826,7 +829,7 @@ nil, indicating the current buffer's process. */)
826 if (CONSP (p->status)) 829 if (CONSP (p->status))
827 symbol = XCAR (p->status); 830 symbol = XCAR (p->status);
828 if (EQ (symbol, Qsignal) || EQ (symbol, Qexit)) 831 if (EQ (symbol, Qsignal) || EQ (symbol, Qexit))
829 Fdelete (make_fixnum_or_float (p->pid), deleted_pid_list); 832 Fdelete (make_fixnum_or_float (pid), deleted_pid_list);
830 else 833 else
831#endif 834#endif
832 { 835 {
@@ -911,10 +914,13 @@ For a network connection, this value is nil. */)
911 (process) 914 (process)
912 register Lisp_Object process; 915 register Lisp_Object process;
913{ 916{
917 /* Assignment to EMACS_INT stops GCC whining about limited range of
918 data type. */
919 EMACS_INT pid;
920
914 CHECK_PROCESS (process); 921 CHECK_PROCESS (process);
915 return (XPROCESS (process)->pid 922 pid = XPROCESS (process)->pid;
916 ? make_fixnum_or_float (XPROCESS (process)->pid) 923 return (pid ? make_fixnum_or_float (pid) : Qnil);
917 : Qnil);
918} 924}
919 925
920DEFUN ("process-name", Fprocess_name, Sprocess_name, 1, 1, 0, 926DEFUN ("process-name", Fprocess_name, Sprocess_name, 1, 1, 0,
@@ -6386,7 +6392,7 @@ sigchld_handler (signo)
6386 6392
6387 while (1) 6393 while (1)
6388 { 6394 {
6389 register int pid; 6395 register EMACS_INT pid;
6390 WAITTYPE w; 6396 WAITTYPE w;
6391 Lisp_Object tail; 6397 Lisp_Object tail;
6392 6398