Commit 4ba991f1 authored by Maria Matejka's avatar Maria Matejka
Browse files

Fixed channel export map confusion

parent 44dbedbe
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -596,6 +596,9 @@ channel_export_stopped(struct rt_export_request *req)
  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;
@@ -993,9 +996,6 @@ channel_do_pause(struct channel *c)
  }

  channel_roa_unsubscribe_all(c);

  bmap_free(&c->export_map);
  bmap_free(&c->export_reject_map);
}

static void
@@ -1035,16 +1035,11 @@ channel_do_down(struct channel *c)

  c->proto->active_channels--;

  // bmap_free(&c->export_map);
  memset(&c->import_stats, 0, sizeof(struct channel_import_stats));
  memset(&c->export_stats, 0, sizeof(struct channel_export_stats));

  CALL(c->channel->cleanup, c);

  /* This have to be done in here, as channel pool is freed before channel_do_down() */
  bmap_free(&c->export_map);
  bmap_free(&c->export_reject_map);

  /* Schedule protocol shutddown */
  if (proto_is_done(c->proto))
    proto_send_event(c->proto);
+1 −1
Original line number Diff line number Diff line
@@ -507,7 +507,7 @@ export_filter_(struct channel *c, rte *rt, linpool *pool, int silent)
      stats->updates_rejected++;
      if (v == RIC_REJECT)
	channel_rte_trace_out(D_FILTERS, c, rt, "rejected by protocol");
      goto reject_noset;
      goto reject;

    }
  if (v > 0)