diff options
author | David Robillard <d@drobilla.net> | 2017-02-11 15:55:58 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-02-12 11:11:14 +0100 |
commit | b6b8f7b3371c6c27055ec1fba970de56dd057a01 (patch) | |
tree | 9e8bd44a1c4196e962f87c0c68e8f0dc09554806 /src/server/JackDriver.cpp | |
parent | 740b0b7874c0393a14354eb447d689bc30da3eac (diff) | |
download | ingen-b6b8f7b3371c6c27055ec1fba970de56dd057a01.tar.gz ingen-b6b8f7b3371c6c27055ec1fba970de56dd057a01.tar.bz2 ingen-b6b8f7b3371c6c27055ec1fba970de56dd057a01.zip |
Fix memory leaks
Diffstat (limited to 'src/server/JackDriver.cpp')
-rw-r--r-- | src/server/JackDriver.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/server/JackDriver.cpp b/src/server/JackDriver.cpp index fb672ffa..c03bf42c 100644 --- a/src/server/JackDriver.cpp +++ b/src/server/JackDriver.cpp @@ -71,17 +71,10 @@ JackDriver::JackDriver(Engine& engine) &_forge, &engine.world()->uri_map().urid_map_feature()->urid_map); } -struct PortDisposer { - void operator()(EnginePort* port) { delete port; } -}; - JackDriver::~JackDriver() { deactivate(); - _ports.clear_and_dispose(PortDisposer()); - - if (_client) - jack_client_close(_client); + _ports.clear_and_dispose([](EnginePort* p) { delete p; }); } bool @@ -178,7 +171,7 @@ void JackDriver::deactivate() { if (_is_activated) { - _flag = true; + _flag = true; _is_activated = false; _sem.timed_wait(1000); |