[XModule] Remove module and its functions while unloading

This commit is contained in:
Gliniak
2021-12-25 15:11:05 +01:00
parent f2c0ae46c1
commit 371441ec3a
7 changed files with 52 additions and 1 deletions

View File

@@ -12,6 +12,7 @@
#include "xenia/base/byte_stream.h"
#include "xenia/base/logging.h"
#include "xenia/base/string.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
@@ -48,7 +49,10 @@ bool XModule::Matches(const std::string_view name) const {
void XModule::OnLoad() { kernel_state_->RegisterModule(this); }
void XModule::OnUnload() { kernel_state_->UnregisterModule(this); }
void XModule::OnUnload() {
kernel_state_->processor()->RemoveModule(this->name());
kernel_state_->UnregisterModule(this);
}
X_STATUS XModule::GetSection(const std::string_view name,
uint32_t* out_section_data,