2006-04-01  Ulrich Drepper  <drepper@redhat.com>
	[BZ #2498]
	* nscd/connections.c (main_loop_poll): If the connection cannot be
	accepted because of user-imposed limits close the descriptor.
This commit is contained in:
Ulrich Drepper 2006-04-01 18:51:15 +00:00
parent 1329b60176
commit 9388dcbb84
2 changed files with 22 additions and 10 deletions

View file

@ -1,3 +1,9 @@
2006-04-01 Ulrich Drepper <drepper@redhat.com>
[BZ #2498]
* nscd/connections.c (main_loop_poll): If the connection cannot be
accepted because of user-imposed limits close the descriptor.
2006-03-31 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/Versions: Export sync_file_range with

View file

@ -1556,18 +1556,24 @@ main_loop_poll (void)
/* We have a new incoming connection. Accept the connection. */
int fd = TEMP_FAILURE_RETRY (accept (sock, NULL, NULL));
/* use the descriptor if we have not reached the limit. */
if (fd >= 0 && firstfree < nconns)
/* Use the descriptor if we have not reached the limit. */
if (fd >= 0)
{
conns[firstfree].fd = fd;
conns[firstfree].events = POLLRDNORM;
starttime[firstfree] = now;
if (firstfree >= nused)
nused = firstfree + 1;
if (firstfree < nconns)
{
conns[firstfree].fd = fd;
conns[firstfree].events = POLLRDNORM;
starttime[firstfree] = now;
if (firstfree >= nused)
nused = firstfree + 1;
do
++firstfree;
while (firstfree < nused && conns[firstfree].fd != -1);
do
++firstfree;
while (firstfree < nused && conns[firstfree].fd != -1);
}
else
/* We cannot use the connection so close it. */
close (fd);
}
--n;