commit - 3cb4e21c391ae397ec7d65fe4728cca2bea85320
commit + a80d2bca13974bb0fe9dab49a777c3fe05abf543
blob - 2b6985542b6d7383f5f452adbe52744d5ef88ad6
blob + d35a0bab0e6874fa81a7694b7b16c07a73b88fab
--- kamid/control.c
+++ kamid/control.c
#include "control.h"
#include "kamid.h"
-#include "listener.h"
#include "log.h"
#include "utils.h"
switch (imsg.hdr.type) {
case IMSG_CTL_RELOAD:
- listener_imsg_compose_main(imsg.hdr.type, 0, NULL, 0);
+ if (main_reload() == -1)
+ log_warnx("configuration reload failed");
break;
case IMSG_CTL_LOG_VERBOSE:
if (IMSG_DATA_SIZE(imsg) != sizeof(verbose))
break;
/* Forward to all other processes. */
- listener_imsg_compose_main(imsg.hdr.type, imsg.hdr.pid,
- imsg.data, IMSG_DATA_SIZE(imsg));
+ main_imsg_compose_listener(imsg.hdr.type, -1,
+ imsg.hdr.pid, imsg.data, IMSG_DATA_SIZE(imsg));
- /* XXX: send to every client? */
-
memcpy(&verbose, imsg.data, sizeof(verbose));
log_setverbose(verbose);
break;
blob - 19d3ae0db232749db5b440e252cf48f93478ad2d
blob + fdc841b82bf582614f509bce45241f70645984b6
--- kamid/kamid.c
+++ kamid/kamid.c
if ((control_fd = control_init(csock)) == -1)
fatalx("control socket setup failed");
+ control_listen(control_fd);
- main_imsg_compose_listener(IMSG_CONTROLFD, control_fd, 0,
- NULL, 0);
main_imsg_send_config(main_conf);
sandbox_main();
blob - 6a9f167f1877451fcec866b2f6ef0c748aa1a47e
blob + c4437257ae3d016844dbd2dcdcbcf2ebe6d6070d
--- kamid/kamid.h
+++ kamid/kamid.h
/* kamid.c */
extern int verbose;
+int main_reload(void);
int main_imsg_compose_listener(int, int, uint32_t, const void *, uint16_t);
void merge_config(struct kd_conf *, struct kd_conf *);
blob - b2105530e2b2cfd3c5f65fc4751dca13bc9be9fb
blob + 87e88b00797f954fcc9d8522d96ea65c9537daa3
--- kamid/listener.c
+++ kamid/listener.c
break;
switch (imsg.hdr.type) {
- case IMSG_CONTROLFD:
- if ((fd = imsg.fd) == -1)
- fatalx("%s: expected to receive imsg "
- "control fd but didn't receive any",
- __func__);
- /* Listen on control socket. */
- control_listen(fd);
- break;
case IMSG_RECONF_CONF:
case IMSG_RECONF_PKI:
case IMSG_RECONF_PKI_CERT: