From: Maria Matejka Date: Wed, 12 Oct 2022 09:24:23 +0000 (+0200) Subject: Merge commit '4ba991f1' into thread-next X-Git-Tag: v3.0-alpha1~91 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c4957647b4b2d763ecf0c3d63f3dccec9188268b;p=thirdparty%2Fbird.git Merge commit '4ba991f1' into thread-next --- c4957647b4b2d763ecf0c3d63f3dccec9188268b diff --cc nest/proto.c index e39fbdfe1,7a09ed642..48558865a --- a/nest/proto.c +++ b/nest/proto.c @@@ -624,7 -596,16 +624,10 @@@ channel_export_stopped(struct rt_export mb_free(c->out_req.name); c->out_req.name = NULL; + bmap_free(&c->export_map); + bmap_free(&c->export_reject_map); + - if (c->restart_export) - { - c->restart_export = 0; - channel_start_export(c); - } - else - channel_check_stopped(c); + channel_check_stopped(c); } static void @@@ -737,23 -988,14 +740,20 @@@ channel_do_up(struct channel *c static void channel_do_pause(struct channel *c) { - /* Stop export */ - if (c->out_req.hook) + /* Need to abort feeding */ + if (c->reload_req.hook) { - rt_stop_export(&c->out_req, channel_export_stopped); - c->refeeding = 0; + c->reload_pending = 0; + rt_stop_export(&c->reload_req, channel_reload_stopped); } + /* Stop export */ + if (c->refeed_pending) + c->refeed_pending = 0; + else if (c->out_req.hook) + rt_stop_export(&c->out_req, channel_export_stopped); + channel_roa_unsubscribe_all(c); - - bmap_free(&c->export_map); - bmap_free(&c->export_reject_map); } static void