ALSA: Free global configuration tree after each snd_ctl_close and snd… #448
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In reference to issue #447:
This is a PR to update the ALSA backend to free the global configuration tree after each successful
snd_*_open()
(so actually after eachsnd_*_close()
) in order to prevent memory leaks as described here.To show the issue, valgrand memcheck was run on the test apps with following commands (RtAudio commit 7aba116):
For all of these test apps, memcheck reports 118 errors, with 832 bytes definitely lost, 69,729 bytes possibly lost.
Following the patch, all report 0 erros and 0 bytes lost, except teststops, which reports 1 error of 768 bytes definitely lost. Perhaps another ALSA issue to investigate.
All pre and post-fix logs are attached. The post-fix logs are appended with
-fork
.logs.zip