aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c
index 2dd472b463e..f9501f97838 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1720,11 +1720,17 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\
1720 unrequest_sigio (); 1720 unrequest_sigio ();
1721 1721
1722 loop: 1722 loop:
1723
1724 immediate_quit = 1;
1725 QUIT;
1726
1723 if (connect (s, (struct sockaddr *) &address, sizeof address) == -1 1727 if (connect (s, (struct sockaddr *) &address, sizeof address) == -1
1724 && errno != EISCONN) 1728 && errno != EISCONN)
1725 { 1729 {
1726 int xerrno = errno; 1730 int xerrno = errno;
1727 1731
1732 immediate_quit = 0;
1733
1728 if (errno == EINTR) 1734 if (errno == EINTR)
1729 goto loop; 1735 goto loop;
1730 if (errno == EADDRINUSE && retry < 20) 1736 if (errno == EADDRINUSE && retry < 20)
@@ -1747,6 +1753,8 @@ Fourth arg SERVICE is name of the service desired, or an integer\n\
1747 Fcons (host, Fcons (name, Qnil))); 1753 Fcons (host, Fcons (name, Qnil)));
1748 } 1754 }
1749 1755
1756 immediate_quit = 0;
1757
1750#ifdef POLL_FOR_INPUT 1758#ifdef POLL_FOR_INPUT
1751 unbind_to (count, Qnil); 1759 unbind_to (count, Qnil);
1752#endif 1760#endif