Browse Source

Microoptimise ckdbq_process

master
Con Kolivas 9 years ago
parent
commit
5c09f0608f
  1. 15
      src/stratifier.c

15
src/stratifier.c

@ -6783,7 +6783,7 @@ static bool test_and_clear(bool *val, mutex_t *lock)
static void ckdbq_process(ckpool_t *ckp, char *msg) static void ckdbq_process(ckpool_t *ckp, char *msg)
{ {
sdata_t *sdata = ckp->data; sdata_t *sdata = ckp->data;
size_t responselen = 0; size_t responselen;
char *buf = NULL; char *buf = NULL;
while (!buf) { while (!buf) {
@ -6803,16 +6803,15 @@ static void ckdbq_process(ckpool_t *ckp, char *msg)
/* Process any requests from ckdb that are heartbeat responses with /* Process any requests from ckdb that are heartbeat responses with
* specific requests. */ * specific requests. */
if (likely(buf)) responselen = strlen(buf);
responselen = strlen(buf); if (likely(responselen > 1)) {
if (likely(responselen > 0)) {
char *response = alloca(responselen); char *response = alloca(responselen);
int offset = 0; int offset = 0;
memset(response, 0, responselen); memset(response, 0, responselen);
if (sscanf(buf, "%*d.%*d.%c%n", response, &offset) > 0) { if (likely(sscanf(buf, "%*d.%*d.%c%n", response, &offset) > 0)) {
strcpy(response+1, buf+offset); strcpy(response + 1, buf + offset);
if (safecmp(response, "ok")) { if (likely(safecmp(response, "ok"))) {
char *cmd; char *cmd;
cmd = response; cmd = response;
@ -6826,8 +6825,8 @@ static void ckdbq_process(ckpool_t *ckp, char *msg)
LOGWARNING("Got ckdb failure response: %s", buf); LOGWARNING("Got ckdb failure response: %s", buf);
} else } else
LOGWARNING("Got bad ckdb response: %s", buf); LOGWARNING("Got bad ckdb response: %s", buf);
free(buf);
} }
free(buf);
} }
static int transactions_by_jobid(sdata_t *sdata, const int64_t id) static int transactions_by_jobid(sdata_t *sdata, const int64_t id)

Loading…
Cancel
Save