Код
UMutex.Lock();
ret = func();
if(ret)
{
UMutex.Unlock();
return ret;
}
ret = func();
if(ret)
{
UMutex.Unlock();
return ret;
}
Если на UMutex.Unlock(); приходит с ProcessMap = 0, то все работает.
Если ProcessMap != 0, то внутри Unlock() все отрабатыватывает вроде верно. Но после возврата в этот процесс (т.е. на return ret;) получается, что ValueTag вдруг стал != 0... Соответственно, мьютекс больше не захватится.