Browse Source

Do not grab the cdata lock in the connector when sending data as false negatives are safe

master
Con Kolivas 10 years ago
parent
commit
21c7fcb2c2
  1. 6
      src/connector.c

6
src/connector.c

@ -352,15 +352,15 @@ reparse:
json_object_set_new_nocheck(val, "server", json_integer(client->server)); json_object_set_new_nocheck(val, "server", json_integer(client->server));
s = json_dumps(val, 0); s = json_dumps(val, 0);
ck_rlock(&cdata->lock); /* Do not send messages of clients we've already dropped. We
/* Do not send messages of clients we've already dropped */ * do this unlocked as the occasional false negative can be
* filtered by the stratifier. */
if (likely(client->fd != -1)) { if (likely(client->fd != -1)) {
if (ckp->passthrough) if (ckp->passthrough)
send_proc(ckp->generator, s); send_proc(ckp->generator, s);
else else
send_proc(ckp->stratifier, s); send_proc(ckp->stratifier, s);
} }
ck_runlock(&cdata->lock);
free(s); free(s);
json_decref(val); json_decref(val);

Loading…
Cancel
Save