Browse Source

Test without dropping listen backlog

master
Con Kolivas 10 years ago
parent
commit
5665d54545
  1. 11
      src/connector.c

11
src/connector.c

@ -380,7 +380,6 @@ reparse:
void *receiver(void *arg) void *receiver(void *arg)
{ {
cdata_t *cdata = (cdata_t *)arg; cdata_t *cdata = (cdata_t *)arg;
bool dropped_backlog = false;
struct epoll_event event; struct epoll_event event;
uint64_t serverfds, i; uint64_t serverfds, i;
time_t start_t; time_t start_t;
@ -414,16 +413,6 @@ void *receiver(void *arg)
while (42) { while (42) {
client_instance_t *client; client_instance_t *client;
if (unlikely(!dropped_backlog && time(NULL) - start_t > 90)) {
/* When we first start we listen to as many connections
* as possible. After the first minute we drop the
* listen to the minimum to effectively ratelimit how
* fast we can receive new connections. */
dropped_backlog = true;
LOGNOTICE("Dropping server listen backlog to 0");
for (i = 0; i < serverfds; i++)
listen(cdata->serverfd[i], 0);
}
while (unlikely(!cdata->accept)) while (unlikely(!cdata->accept))
cksleep_ms(10); cksleep_ms(10);
ret = epoll_wait(epfd, &event, 1, 1000); ret = epoll_wait(epfd, &event, 1, 1000);

Loading…
Cancel
Save