diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 8 |
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 |