libstrat: fix domain issues. in/out objects now work.

This commit is contained in:
Michael Scire
2019-10-23 00:07:20 -07:00
committed by SciresM
parent 4f455dacf4
commit 15773e4755
23 changed files with 161 additions and 113 deletions

View File

@@ -90,6 +90,7 @@ namespace sts::sf::cmif {
if (entry == nullptr) {
return ServiceObjectHolder();
}
{
std::scoped_lock lk(this->manager->entry_owner_lock);
if (entry->owner != this) {
@@ -116,9 +117,11 @@ namespace sts::sf::cmif {
ServerDomainManager::Entry *ServerDomainManager::EntryManager::AllocateEntry() {
std::scoped_lock lk(this->lock);
if (this->free_list.empty()) {
return nullptr;
}
Entry *e = &this->free_list.front();
this->free_list.pop_front();
return e;