diff options
author | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2010-01-24 18:45:51 +0100 |
---|---|---|
committer | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2010-01-24 18:45:51 +0100 |
commit | 6218fb1ac62350c47c5b92a9dc4848e9c3329fc9 (patch) | |
tree | f2a804a39960ffb9f7e1d40b8d2bfc7be39d7722 /src/IO/IO.c | |
parent | 57ab2fb1d1a02b552a10c531f0ef84ad03fdd963 (diff) |
limit the number of simultaneous connections
The number of simultaneous connections to a single server is now
limited by prefs.http_max_conns (default 6).
This avoids opening hundreds of connections on pages with many images
(BUG 685).
This commit is partly based on a prototype by Jorge Arellano Cid.
Diffstat (limited to 'src/IO/IO.c')
-rw-r--r-- | src/IO/IO.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/IO/IO.c b/src/IO/IO.c index 40677345..4b0285f2 100644 --- a/src/IO/IO.c +++ b/src/IO/IO.c @@ -133,7 +133,8 @@ static void IO_close_fd(IOData_t *io, int CloseCode) /* With HTTP, if we close the writing part, the reading one also gets * closed! (other clients may set 'IOFlag_ForceClose') */ - if ((io->Flags & IOFlag_ForceClose) || (CloseCode == IO_StopRdWr)) { + if (((io->Flags & IOFlag_ForceClose) || (CloseCode == IO_StopRdWr)) && + io->FD != -1) { do st = close(io->FD); while (st < 0 && errno == EINTR); |