diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-05-09 23:41:03 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-05-09 23:41:03 +0200 |
commit | 6e620becc8543e9ea8381fcd779dd932c2464749 (patch) | |
tree | 9857216e3fb71cf3ca3be4016fb285e3d910cc83 | |
parent | a06b0b562bc11e5ca2ea88074fb3b38f2503ed6b (diff) |
swap: properly free instance data
-rw-r--r-- | swap.c | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -40,6 +40,14 @@ static const UnitActiveState state_translation_table[_SWAP_STATE_MAX] = { [SWAP_MAINTAINANCE] = UNIT_INACTIVE }; +static void swap_done(Unit *u) { + Swap *s = SWAP(u); + + assert(s); + + free(s->what); +} + static int swap_verify(Swap *s) { bool b; char *e; @@ -398,8 +406,10 @@ const UnitVTable swap_vtable = { .no_alias = true, .no_instances = true, + .no_isolate = true, .load = swap_load, + .done = swap_done, .coldplug = swap_coldplug, @@ -418,7 +428,6 @@ const UnitVTable swap_vtable = { .bus_message_handler = bus_swap_message_handler, - .shutdown = swap_shutdown, - - .enumerate = swap_enumerate + .enumerate = swap_enumerate, + .shutdown = swap_shutdown }; |