The following reply was made to PR user/6509; it has been noted by GNATS.

From: Reyk Floeter <r...@openbsd.org>
To: Reyk Floeter <r...@openbsd.org>
Cc: Stuart Henderson <s...@spacehopper.org>, gn...@openbsd.org,
        Jonathan Gray <j...@goblin.cx>
Subject: Re: user/6509: relayctl show sessions make relayd crash
Date: Thu, 19 May 2011 14:30:42 +0200

 On Thu, May 19, 2011 at 01:59:36PM +0200, Reyk Floeter wrote:
 > +            if (c->waiting == 0) {
 > +                    log_debug("%s: unexpected imsg", __func__);
 > +                    return (-1);
 
 Actually it shouldn't even fail here and just ignore the error.  Our
 Id is the fd of the control connection and it might happen that it
 gets reused for a new control connection.
 
                if (c->waiting == 0) {
                         log_debug("%s: no pending control requests", __func__);
                         return (0);
 
 > +            } else if (--c->waiting == 0) {
 > +                    /* Last ack for a previous request */
 > +                    imsg_compose_event(&c->iev, IMSG_CTL_END,
 > +                        0, 0, -1, NULL, 0);
 > +            }

Reply via email to