diff options
| author | 2018-12-12 20:07:14 +0100 | |
|---|---|---|
| committer | 2018-12-13 20:08:23 +0100 | |
| commit | 27a9cc2e63d07989fdb4efeeb6a6b3417281f177 (patch) | |
| tree | 7df6d4eadc9af7b42e467576dbf16528664f8a9e /src/common/bit_util.h | |
| parent | Merge pull request #1890 from jschmer/master (diff) | |
| download | yuzu-27a9cc2e63d07989fdb4efeeb6a6b3417281f177.tar.gz yuzu-27a9cc2e63d07989fdb4efeeb6a6b3417281f177.tar.xz yuzu-27a9cc2e63d07989fdb4efeeb6a6b3417281f177.zip | |
Fix Service object leak on emulation stop
Services created with the ServiceFramework base class install themselves as HleHandlers with an owning shared_ptr in the ServerPort ServiceFrameworkBase::port member variable, creating a cyclic ownership between ServiceFrameworkBase and the ServerPort, preventing deletion of the service objects.
Fix that by removing the ServiceFrameworkBase::port member because that was only used to detect multiple attempts at installing a port. Instead store a flag if the port was already installed to achieve the same functionality.
Diffstat (limited to 'src/common/bit_util.h')
0 files changed, 0 insertions, 0 deletions