aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/process.c b/src/process.c
index daa49b129ae..9ccc77e1d83 100644
--- a/src/process.c
+++ b/src/process.c
@@ -640,7 +640,10 @@ make_process (Lisp_Object name)
640 640
641#ifdef HAVE_GNUTLS 641#ifdef HAVE_GNUTLS
642 p->gnutls_initstage = GNUTLS_STAGE_EMPTY; 642 p->gnutls_initstage = GNUTLS_STAGE_EMPTY;
643 /* Default log level. */
643 p->gnutls_log_level = 0; 644 p->gnutls_log_level = 0;
645 /* GnuTLS handshakes attempted for this connection. */
646 p->gnutls_handshakes_tried = 0;
644 p->gnutls_p = 0; 647 p->gnutls_p = 0;
645 p->gnutls_state = NULL; 648 p->gnutls_state = NULL;
646 p->gnutls_x509_cred = NULL; 649 p->gnutls_x509_cred = NULL;
@@ -4874,15 +4877,20 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
4874 It can't hurt. */ 4877 It can't hurt. */
4875 else if (nread == -1 && errno == EIO) 4878 else if (nread == -1 && errno == EIO)
4876 { 4879 {
4877 /* Clear the descriptor now, so we only raise the signal once. */ 4880 /* Don't do anything if only a pty, with no associated
4878 FD_CLR (channel, &input_wait_mask); 4881 process (bug#10933). */
4879 FD_CLR (channel, &non_keyboard_wait_mask); 4882 if (XPROCESS (proc)->pid != -2) {
4880 4883 /* Clear the descriptor now, so we only raise the signal
4881 kill (getpid (), SIGCHLD); 4884 once. */
4885 FD_CLR (channel, &input_wait_mask);
4886 FD_CLR (channel, &non_keyboard_wait_mask);
4887
4888 kill (getpid (), SIGCHLD);
4889 }
4882 } 4890 }
4883#endif /* HAVE_PTYS */ 4891#endif /* HAVE_PTYS */
4884 /* If we can detect process termination, don't consider the process 4892 /* If we can detect process termination, don't consider the
4885 gone just because its pipe is closed. */ 4893 process gone just because its pipe is closed. */
4886#ifdef SIGCHLD 4894#ifdef SIGCHLD
4887 else if (nread == 0 && !NETCONN_P (proc) && !SERIALCONN_P (proc)) 4895 else if (nread == 0 && !NETCONN_P (proc) && !SERIALCONN_P (proc))
4888 ; 4896 ;
@@ -7426,7 +7434,7 @@ syms_of_process (void)
7426 DEFSYM (Qargs, "args"); 7434 DEFSYM (Qargs, "args");
7427 7435
7428 DEFVAR_BOOL ("delete-exited-processes", delete_exited_processes, 7436 DEFVAR_BOOL ("delete-exited-processes", delete_exited_processes,
7429 doc: /* *Non-nil means delete processes immediately when they exit. 7437 doc: /* Non-nil means delete processes immediately when they exit.
7430A value of nil means don't delete them until `list-processes' is run. */); 7438A value of nil means don't delete them until `list-processes' is run. */);
7431 7439
7432 delete_exited_processes = 1; 7440 delete_exited_processes = 1;