|
|
@ -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); |
|
|
|