diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/src/process.c b/src/process.c index d94e6d13866..6bcaef63303 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -121,6 +121,12 @@ Boston, MA 02110-1301, USA. */ | |||
| 121 | #include <sys/wait.h> | 121 | #include <sys/wait.h> |
| 122 | #endif | 122 | #endif |
| 123 | 123 | ||
| 124 | #ifdef HAVE_RES_INIT | ||
| 125 | #include <netinet/in.h> | ||
| 126 | #include <arpa/nameser.h> | ||
| 127 | #include <resolv.h> | ||
| 128 | #endif | ||
| 129 | |||
| 124 | #include "lisp.h" | 130 | #include "lisp.h" |
| 125 | #include "systime.h" | 131 | #include "systime.h" |
| 126 | #include "systty.h" | 132 | #include "systty.h" |
| @@ -732,9 +738,9 @@ BUFFER may be a buffer or the name of one. */) | |||
| 732 | buf = Fget_buffer (buffer); | 738 | buf = Fget_buffer (buffer); |
| 733 | if (NILP (buf)) return Qnil; | 739 | if (NILP (buf)) return Qnil; |
| 734 | 740 | ||
| 735 | for (tail = Vprocess_alist; !NILP (tail); tail = Fcdr (tail)) | 741 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) |
| 736 | { | 742 | { |
| 737 | proc = Fcdr (Fcar (tail)); | 743 | proc = Fcdr (XCAR (tail)); |
| 738 | if (PROCESSP (proc) && EQ (XPROCESS (proc)->buffer, buf)) | 744 | if (PROCESSP (proc) && EQ (XPROCESS (proc)->buffer, buf)) |
| 739 | return proc; | 745 | return proc; |
| 740 | } | 746 | } |
| @@ -1338,11 +1344,11 @@ list_processes_1 (query_only) | |||
| 1338 | w_buffer = 6; /* Buffer */ | 1344 | w_buffer = 6; /* Buffer */ |
| 1339 | w_tty = 0; /* Omit if no ttys */ | 1345 | w_tty = 0; /* Omit if no ttys */ |
| 1340 | 1346 | ||
| 1341 | for (tail = Vprocess_alist; !NILP (tail); tail = Fcdr (tail)) | 1347 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) |
| 1342 | { | 1348 | { |
| 1343 | int i; | 1349 | int i; |
| 1344 | 1350 | ||
| 1345 | proc = Fcdr (Fcar (tail)); | 1351 | proc = Fcdr (XCAR (tail)); |
| 1346 | p = XPROCESS (proc); | 1352 | p = XPROCESS (proc); |
| 1347 | if (NILP (p->childp)) | 1353 | if (NILP (p->childp)) |
| 1348 | continue; | 1354 | continue; |
| @@ -1401,11 +1407,11 @@ list_processes_1 (query_only) | |||
| 1401 | Findent_to (i_command, minspace); write_string ("-------", -1); | 1407 | Findent_to (i_command, minspace); write_string ("-------", -1); |
| 1402 | write_string ("\n", -1); | 1408 | write_string ("\n", -1); |
| 1403 | 1409 | ||
| 1404 | for (tail = Vprocess_alist; !NILP (tail); tail = Fcdr (tail)) | 1410 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) |
| 1405 | { | 1411 | { |
| 1406 | Lisp_Object symbol; | 1412 | Lisp_Object symbol; |
| 1407 | 1413 | ||
| 1408 | proc = Fcdr (Fcar (tail)); | 1414 | proc = Fcdr (XCAR (tail)); |
| 1409 | p = XPROCESS (proc); | 1415 | p = XPROCESS (proc); |
| 1410 | if (NILP (p->childp)) | 1416 | if (NILP (p->childp)) |
| 1411 | continue; | 1417 | continue; |
| @@ -3082,6 +3088,11 @@ usage: (make-network-process &rest ARGS) */) | |||
| 3082 | hints.ai_family = family; | 3088 | hints.ai_family = family; |
| 3083 | hints.ai_socktype = socktype; | 3089 | hints.ai_socktype = socktype; |
| 3084 | hints.ai_protocol = 0; | 3090 | hints.ai_protocol = 0; |
| 3091 | |||
| 3092 | #ifdef HAVE_RES_INIT | ||
| 3093 | res_init (); | ||
| 3094 | #endif | ||
| 3095 | |||
| 3085 | ret = getaddrinfo (SDATA (host), portstring, &hints, &res); | 3096 | ret = getaddrinfo (SDATA (host), portstring, &hints, &res); |
| 3086 | if (ret) | 3097 | if (ret) |
| 3087 | #ifdef HAVE_GAI_STRERROR | 3098 | #ifdef HAVE_GAI_STRERROR |
| @@ -3127,6 +3138,11 @@ usage: (make-network-process &rest ARGS) */) | |||
| 3127 | as it may `hang' Emacs for a very long time. */ | 3138 | as it may `hang' Emacs for a very long time. */ |
| 3128 | immediate_quit = 1; | 3139 | immediate_quit = 1; |
| 3129 | QUIT; | 3140 | QUIT; |
| 3141 | |||
| 3142 | #ifdef HAVE_RES_INIT | ||
| 3143 | res_init (); | ||
| 3144 | #endif | ||
| 3145 | |||
| 3130 | host_info_ptr = gethostbyname (SDATA (host)); | 3146 | host_info_ptr = gethostbyname (SDATA (host)); |
| 3131 | immediate_quit = 0; | 3147 | immediate_quit = 0; |
| 3132 | 3148 | ||
| @@ -6689,12 +6705,12 @@ status_notify (deleting_process) | |||
| 6689 | that we run, we get called again to handle their status changes. */ | 6705 | that we run, we get called again to handle their status changes. */ |
| 6690 | update_tick = process_tick; | 6706 | update_tick = process_tick; |
| 6691 | 6707 | ||
| 6692 | for (tail = Vprocess_alist; !NILP (tail); tail = Fcdr (tail)) | 6708 | for (tail = Vprocess_alist; CONSP (tail); tail = XCDR (tail)) |
| 6693 | { | 6709 | { |
| 6694 | Lisp_Object symbol; | 6710 | Lisp_Object symbol; |
| 6695 | register struct Lisp_Process *p; | 6711 | register struct Lisp_Process *p; |
| 6696 | 6712 | ||
| 6697 | proc = Fcdr (Fcar (tail)); | 6713 | proc = Fcdr (XCAR (tail)); |
| 6698 | p = XPROCESS (proc); | 6714 | p = XPROCESS (proc); |
| 6699 | 6715 | ||
| 6700 | if (p->tick != p->update_tick) | 6716 | if (p->tick != p->update_tick) |