if (iev_ldpe) {
msgbuf_clear(&iev_ldpe->ibuf.w);
close(iev_ldpe->ibuf.fd);
+ iev_ldpe->ibuf.fd = -1;
}
msgbuf_clear(&iev_main->ibuf.w);
close(iev_main->ibuf.fd);
+ iev_main->ibuf.fd = -1;
msgbuf_clear(&iev_main_sync->ibuf.w);
close(iev_main_sync->ibuf.fd);
+ iev_main_sync->ibuf.fd = -1;
lde_gc_stop_timer();
lde_nbr_clear();
int
lde_imsg_compose_parent(int type, pid_t pid, void *data, uint16_t datalen)
{
+ if (iev_main->ibuf.fd == -1)
+ return (0);
return (imsg_compose_event(iev_main, type, 0, pid, -1, data, datalen));
}
void
lde_imsg_compose_parent_sync(int type, pid_t pid, void *data, uint16_t datalen)
{
+ if (iev_main_sync->ibuf.fd == -1)
+ return;
imsg_compose_event(iev_main_sync, type, 0, pid, -1, data, datalen);
imsg_flush(&iev_main_sync->ibuf);
}
lde_imsg_compose_ldpe(int type, uint32_t peerid, pid_t pid, void *data,
uint16_t datalen)
{
+ if (iev_ldpe->ibuf.fd == -1)
+ return (0);
return (imsg_compose_event(iev_ldpe, type, peerid, pid,
-1, data, datalen));
}
/* close pipes */
if (iev_lde) {
- msgbuf_write(&iev_lde->ibuf.w);
msgbuf_clear(&iev_lde->ibuf.w);
close(iev_lde->ibuf.fd);
+ iev_lde->ibuf.fd = -1;
}
- msgbuf_write(&iev_main->ibuf.w);
msgbuf_clear(&iev_main->ibuf.w);
close(iev_main->ibuf.fd);
+ iev_main->ibuf.fd = -1;
msgbuf_clear(&iev_main_sync->ibuf.w);
close(iev_main_sync->ibuf.fd);
+ iev_main_sync->ibuf.fd = -1;
control_cleanup(ctl_sock_path);
config_clear(leconf);
int
ldpe_imsg_compose_parent(int type, pid_t pid, void *data, uint16_t datalen)
{
+ if (iev_main->ibuf.fd == -1)
+ return (0);
return (imsg_compose_event(iev_main, type, 0, pid, -1, data, datalen));
}
void
ldpe_imsg_compose_parent_sync(int type, pid_t pid, void *data, uint16_t datalen)
{
+ if (iev_main_sync->ibuf.fd == -1)
+ return;
imsg_compose_event(iev_main_sync, type, 0, pid, -1, data, datalen);
imsg_flush(&iev_main_sync->ibuf);
}
ldpe_imsg_compose_lde(int type, uint32_t peerid, pid_t pid, void *data,
uint16_t datalen)
{
+ if (iev_lde->ibuf.fd == -1)
+ return (0);
return (imsg_compose_event(iev_lde, type, peerid, pid, -1,
data, datalen));
}