From ce95017bf16f7937013134fc5188900d3e2cd9c7 Mon Sep 17 00:00:00 2001 From: Reyk Floeter Date: Wed, 16 Aug 2017 09:27:36 +0200 Subject: sync --- httpd/control.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'httpd/control.c') diff --git a/httpd/control.c b/httpd/control.c index c29cd5b..7eea19a 100644 --- a/httpd/control.c +++ b/httpd/control.c @@ -1,4 +1,4 @@ -/* $OpenBSD: control.c,v 1.9 2015/12/05 13:15:27 claudio Exp $ */ +/* $OpenBSD: control.c,v 1.13 2017/01/09 14:49:22 reyk Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -181,9 +181,10 @@ control_connbyfd(int fd) { struct ctl_conn *c; - for (c = TAILQ_FIRST(&ctl_conns); c != NULL && c->iev.ibuf.fd != fd; - c = TAILQ_NEXT(c, entry)) - ; /* nothing */ + TAILQ_FOREACH(c, &ctl_conns, entry) { + if (c->iev.ibuf.fd == fd) + break; + } return (c); } @@ -273,7 +274,8 @@ control_dispatch_imsg(int fd, short event, void *arg) "client requested notify more than once", __func__); imsg_compose_event(&c->iev, IMSG_CTL_FAIL, - 0, 0, -1, NULL, 0); + 0, env->sc_ps->ps_instance + 1, -1, + NULL, 0); break; } c->flags |= CTL_CONN_NOTIFY; @@ -287,8 +289,8 @@ control_dispatch_imsg(int fd, short event, void *arg) proc_forward_imsg(env->sc_ps, &imsg, PROC_SERVER, -1); memcpy(imsg.data, &verbose, sizeof(verbose)); - control_imsg_forward(&imsg); - log_verbose(verbose); + control_imsg_forward(env->sc_ps, &imsg); + log_setverbose(verbose); break; default: log_debug("%s: error handling imsg %d", @@ -302,13 +304,13 @@ control_dispatch_imsg(int fd, short event, void *arg) } void -control_imsg_forward(struct imsg *imsg) +control_imsg_forward(struct privsep *ps, struct imsg *imsg) { struct ctl_conn *c; TAILQ_FOREACH(c, &ctl_conns, entry) if (c->flags & CTL_CONN_NOTIFY) imsg_compose_event(&c->iev, imsg->hdr.type, - 0, imsg->hdr.pid, -1, imsg->data, + 0, ps->ps_instance + 1, -1, imsg->data, imsg->hdr.len - IMSG_HEADER_SIZE); } -- cgit v1.2.3-54-g00ecf