Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.3.0
-
None
-
All
Description
(Code Generation)
The Static SRuntimes Mutex is not unlocked on every Error-Case and resolves to deadlocks.
See following example:
status_t ValueFactoryRemoting::InitValueFactory(EtchRuntime* runtime)
{
status_t status;
SRuntimesMutex.lock();
if (SRuntimes.find(runtime->getId()) != SRuntimes.end())
status = SRuntimes.push_back(runtime->getId());
runtime->registerListener(&SRemotingRuntimeListener);
if (status != ETCH_OK)
if (SRuntimes.size() > 1)
{ //Valuefactory is already initialized SRuntimesMutex.unlock(); return ETCH_OK; }SRuntimesMutex.unlock();