Allow the loglevel to be changed on the fly
This commit is contained in:
parent
0944152cf8
commit
e40128a2da
25
src/ckpool.c
25
src/ckpool.c
@ -130,6 +130,17 @@ void ckmsgq_add(ckmsgq_t *ckmsgq, void *data)
|
||||
mutex_unlock(&ckmsgq->lock);
|
||||
}
|
||||
|
||||
static void broadcast_proc(ckpool_t *ckp, const char *buf)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ckp->proc_instances; i++) {
|
||||
proc_instance_t *pi = ckp->children[i];
|
||||
|
||||
send_proc(pi, buf);
|
||||
}
|
||||
}
|
||||
|
||||
/* Listen for incoming global requests. Always returns a response if possible */
|
||||
static void *listener(void *arg)
|
||||
{
|
||||
@ -159,6 +170,20 @@ retry:
|
||||
} else if (!strncasecmp(buf, "ping", 4)) {
|
||||
LOGDEBUG("Listener received ping request");
|
||||
send_unix_msg(sockd, "pong");
|
||||
} else if (!strncasecmp(buf, "loglevel", 8)) {
|
||||
int loglevel;
|
||||
|
||||
if (sscanf(buf, "loglevel=%d", &loglevel) != 1) {
|
||||
LOGWARNING("Failed to parse loglevel message %s", buf);
|
||||
send_unix_msg(sockd, "Failed");
|
||||
} else if (loglevel < LOG_EMERG || loglevel > LOG_DEBUG) {
|
||||
LOGWARNING("Invalid loglevel %d sent", loglevel);
|
||||
send_unix_msg(sockd, "Invalid");
|
||||
} else {
|
||||
ckp->loglevel = loglevel;
|
||||
broadcast_proc(ckp, buf);
|
||||
send_unix_msg(sockd, "success");
|
||||
}
|
||||
} else if (!strncasecmp(buf, "getfd", 5)) {
|
||||
char *msg;
|
||||
|
||||
|
||||
@ -506,6 +506,10 @@ retry:
|
||||
ci->accept = false;
|
||||
goto retry;
|
||||
}
|
||||
if (!strncasecmp(buf, "loglevel", 8)) {
|
||||
sscanf(buf, "loglevel=%d", &ckp->loglevel);
|
||||
goto retry;
|
||||
}
|
||||
|
||||
LOGDEBUG("Connector received message: %s", buf);
|
||||
if (!strncasecmp(buf, "shutdown", 8))
|
||||
|
||||
@ -279,6 +279,8 @@ retry:
|
||||
LOGNOTICE("Submitting block data!");
|
||||
if (submit_block(cs, buf + 12))
|
||||
send_proc(ckp->stratifier, "block");
|
||||
} else if (!strncasecmp(buf, "loglevel", 8)) {
|
||||
sscanf(buf, "loglevel=%d", &ckp->loglevel);
|
||||
} else if (!strncasecmp(buf, "ping", 4)) {
|
||||
LOGDEBUG("Generator received ping request");
|
||||
send_unix_msg(sockd, "pong");
|
||||
@ -1253,6 +1255,8 @@ retry:
|
||||
pthread_cancel(proxi->pth_precv);
|
||||
pthread_cancel(proxi->pth_psend);
|
||||
goto reconnect;
|
||||
} else if (!strncasecmp(buf, "loglevel", 8)) {
|
||||
sscanf(buf, "loglevel=%d", &ckp->loglevel);
|
||||
} else if (!strncasecmp(buf, "ping", 4)) {
|
||||
LOGDEBUG("Proxy received ping request");
|
||||
send_unix_msg(sockd, "pong");
|
||||
|
||||
@ -963,6 +963,8 @@ retry:
|
||||
} else if (!strncasecmp(buf, "block", 5)) {
|
||||
block_solve(ckp);
|
||||
update_base(ckp);
|
||||
} else if (!strncasecmp(buf, "loglevel", 8)) {
|
||||
sscanf(buf, "loglevel=%d", &ckp->loglevel);
|
||||
} else {
|
||||
json_t *val = json_loads(buf, 0, NULL);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user