From 45f66e956577b111334cdd54ba7152e7b902f611 Mon Sep 17 00:00:00 2001 From: Gavin Lambert Date: Sat, 31 May 2014 14:49:02 +1200 Subject: [PATCH] Moved userspace domain unmap to deactivate instead of release, fixing memory/ref leak. --- lib/master.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/master.c b/lib/master.c index b4809914..ee6e5719 100644 --- a/lib/master.c +++ b/lib/master.c @@ -60,6 +60,11 @@ void ec_master_clear_config(ec_master_t *master) ec_domain_t *d, *next_d; ec_slave_config_t *c, *next_c; + if (master->process_data) { + munmap(master->process_data, master->process_data_size); + master->process_data = NULL; + } + d = master->first_domain; while (d) { next_d = d->next; @@ -81,10 +86,6 @@ void ec_master_clear_config(ec_master_t *master) void ec_master_clear(ec_master_t *master) { - if (master->process_data) { - munmap(master->process_data, master->process_data_size); - } - ec_master_clear_config(master); if (master->fd != -1) {