On Mon, Jul 18, 2022 at 03:46:05PM +0200, Claudio Jeker wrote:
> Noticed the other day, when the RDE dies the session engine may log the
> "Can't send message %u to RDE, ctl pipe closed" multiple times because
> the queue is still processed.
>
> Since this error only happens after a "SE: Lost connection to RDE" error
> it does not anything to the crash log. This is why this should just be
> ignored.
ok
>
> --
> :wq Claudio
>
> Index: session.c
> ===
> RCS file: /cvs/src/usr.sbin/bgpd/session.c,v
> retrieving revision 1.430
> diff -u -p -r1.430 session.c
> --- session.c 27 Jun 2022 13:26:51 - 1.430
> +++ session.c 13 Jul 2022 14:48:47 -
> @@ -3506,11 +3506,9 @@ imsg_ctl_parent(int type, uint32_t peeri
> int
> imsg_ctl_rde(int type, pid_t pid, void *data, uint16_t datalen)
> {
> - if (ibuf_rde_ctl == NULL) {
> - log_warnx("Can't send message %u to RDE, ctl pipe closed",
> - type);
> + if (ibuf_rde_ctl == NULL)
> return (0);
> - }
> +
> /*
>* Use control socket to talk to RDE to bypass the queue of the
>* regular imsg socket.
> @@ -3521,10 +3519,8 @@ imsg_ctl_rde(int type, pid_t pid, void *
> int
> imsg_rde(int type, uint32_t peerid, void *data, uint16_t datalen)
> {
> - if (ibuf_rde == NULL) {
> - log_warnx("Can't send message %u to RDE, pipe closed", type);
> + if (ibuf_rde == NULL)
> return (0);
> - }
>
> return (imsg_compose(ibuf_rde, type, peerid, 0, -1, data, datalen));
> }
>