SWDEV-467540 - Fix reference of freed locks

1.Move global amd::monitor listenerLock before global
class runtime_tear_down as it will be referenced in
~RuntimeTearDown() after main(). It should be freed
later than runtime_tear_down.

2.Update  Device::~Device() to SVM free coopHostcallBuffer_
before context_ is released and freed.

Change-Id: I1d21378ff463477d3238d71e5e2a1a7d6b9147ad
This commit is contained in:
taosang2
2024-06-14 16:39:30 -04:00
committed by Tao Sang
parent c775721b26
commit 544c45364f
3 changed files with 10 additions and 7 deletions
+4
View File
@@ -102,6 +102,10 @@ void Runtime::tearDown() {
initialized_ = false;
}
// ~RuntimeTearDown() will reference listenerLock.
// listenerLock will be constructed ealier and destructed later than
// runtime_tear_down.
amd::Monitor listenerLock("Hostcall listener lock");
std::vector<ReferenceCountedObject*> RuntimeTearDown::external_;
RuntimeTearDown::~RuntimeTearDown() {