Browse Source

Always send dropclient to the stratifier on every invalidate client call

master
Con Kolivas 10 years ago
parent
commit
3bf4e0de8d
  1. 8
      src/connector.c

8
src/connector.c

@ -169,11 +169,8 @@ static int drop_client(conn_instance_t *ci, client_instance_t *client)
static void invalidate_client(ckpool_t *ckp, conn_instance_t *ci, client_instance_t *client) static void invalidate_client(ckpool_t *ckp, conn_instance_t *ci, client_instance_t *client)
{ {
char buf[256]; char buf[256];
int fd;
fd = drop_client(ci, client); drop_client(ci, client);
if (fd == -1)
return;
if (ckp->passthrough) if (ckp->passthrough)
return; return;
sprintf(buf, "dropclient=%ld", client->id); sprintf(buf, "dropclient=%ld", client->id);
@ -459,7 +456,8 @@ static void send_client(conn_instance_t *ci, int64_t id, char *buf)
if (unlikely(fd == -1)) { if (unlikely(fd == -1)) {
if (client) { if (client) {
LOGINFO("Client id %ld disconnected", id); /* This shouldn't happen */
LOGWARNING("Client id %ld disconnected but fd already invalidated!", id);
invalidate_client(ci->pi->ckp, ci, client); invalidate_client(ci->pi->ckp, ci, client);
} else } else
LOGINFO("Connector failed to find client id %ld to send to", id); LOGINFO("Connector failed to find client id %ld to send to", id);

Loading…
Cancel
Save