]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Merge commit '4ba991f1' into thread-next
authorMaria Matejka <mq@ucw.cz>
Wed, 12 Oct 2022 09:24:23 +0000 (11:24 +0200)
committerMaria Matejka <mq@ucw.cz>
Wed, 12 Oct 2022 09:24:23 +0000 (11:24 +0200)
1  2 
nest/proto.c
nest/rt-table.c

diff --cc nest/proto.c
index e39fbdfe114f56e8ecf0a94a2373f2d59f9f2d8f,7a09ed642ce0fb980049b5d0c962b7fbdfdd7915..48558865a290fb1d35ba79f12e88fa09a4e13e1c
@@@ -624,7 -596,16 +624,10 @@@ channel_export_stopped(struct rt_export
    mb_free(c->out_req.name);
    c->out_req.name = NULL;
  
 -  if (c->restart_export)
 -  {
 -    c->restart_export = 0;
 -    channel_start_export(c);
 -  }
 -  else
 -    channel_check_stopped(c);
+   bmap_free(&c->export_map);
+   bmap_free(&c->export_reject_map);
 +  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
diff --cc nest/rt-table.c
Simple merge