[lvm-devel] master - dmsetup: only free resources once in the final interval
Bryn Reeves
bmr at fedoraproject.org
Wed Aug 12 18:17:59 UTC 2015
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=e96041e18fa5f8f0ccb50d31ee0b1c9fb6c5db21
Commit: e96041e18fa5f8f0ccb50d31ee0b1c9fb6c5db21
Parent: 0f45aa7f313e60e10aec6779e86f2179b8ac8865
Author: Bryn M. Reeves <bmr at redhat.com>
AuthorDate: Wed Aug 12 19:16:05 2015 +0100
Committer: Bryn M. Reeves <bmr at redhat.com>
CommitterDate: Wed Aug 12 19:16:05 2015 +0100
dmsetup: only free resources once in the final interval
The _update_interval_times() function is called once per reported
object: when shutting down at the end of a run only the first call
should free timestamps. Clear the timestamp pointers after free
and use this to signal to other callers that the clock is already
shut down.
---
tools/dmsetup.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/tools/dmsetup.c b/tools/dmsetup.c
index 9876bd2..459639b 100644
--- a/tools/dmsetup.c
+++ b/tools/dmsetup.c
@@ -638,6 +638,12 @@ static int _update_interval_times(void)
int r = 0;
/*
+ * Clock shutdown for exit - nothing to do.
+ */
+ if (_timer_fd == TIMER_STOPPED && !_cycle_timestamp)
+ return 1;
+
+ /*
* Current timestamp. If _new_interval is set this is used as
* the new cycle start timestamp.
*/
@@ -717,6 +723,9 @@ out:
if (_cycle_timestamp)
dm_timestamp_destroy(_cycle_timestamp);
dm_timestamp_destroy(this_timestamp);
+
+ /* Clear timestamp pointers to signal shutdown. */
+ _cycle_timestamp = this_timestamp = NULL;
}
return r;
}
More information about the lvm-devel
mailing list