mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-26 20:30:59 +01:00
renepay: fix memleak in CI
Keep a double-entry record of pending routes so that we can flag them as not memory leaks. Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
This commit is contained in:
parent
4b8d9116de
commit
638fff8526
2 changed files with 11 additions and 3 deletions
|
@ -65,6 +65,12 @@ void route_failure_register(struct routetracker *routetracker,
|
|||
{
|
||||
routetracker_add_to_final(routetracker, route);
|
||||
}
|
||||
|
||||
static void remove_route(struct route *route, struct route_map *map)
|
||||
{
|
||||
route_map_del(map, route);
|
||||
}
|
||||
|
||||
static void route_sent_register(struct routetracker *routetracker,
|
||||
struct route *route)
|
||||
{
|
||||
|
@ -89,7 +95,7 @@ static void route_sendpay_fail(struct routetracker *routetracker,
|
|||
* - or after listsendpays reveals some pending route that we didn't
|
||||
* previously know about. */
|
||||
void route_pending_register(struct routetracker *routetracker,
|
||||
const struct route *route)
|
||||
struct route *route)
|
||||
{
|
||||
assert(route);
|
||||
assert(routetracker);
|
||||
|
@ -111,7 +117,9 @@ void route_pending_register(struct routetracker *routetracker,
|
|||
uncertainty_commit_htlcs(pay_plugin->uncertainty, route);
|
||||
|
||||
if (!route_map_add(routetracker->pending_routes, route) ||
|
||||
!tal_steal(routetracker, route))
|
||||
!tal_steal(routetracker, route) ||
|
||||
!route_map_add(pay_plugin->route_map, route) ||
|
||||
!tal_add_destructor2(route, remove_route, pay_plugin->route_map))
|
||||
plugin_err(pay_plugin->plugin, "%s: failed to register route.",
|
||||
__PRETTY_FUNCTION__);
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ void payment_collect_results(struct payment *payment,
|
|||
/* Announce that this route is pending and needs to be kept in the waiting list
|
||||
* for notifications. */
|
||||
void route_pending_register(struct routetracker *routetracker,
|
||||
const struct route *route);
|
||||
struct route *route);
|
||||
|
||||
/* Sends a sendpay request for this route. */
|
||||
struct command_result *route_sendpay_request(struct command *cmd,
|
||||
|
|
Loading…
Add table
Reference in a new issue