Свой InterlockedExchange
От: slavo  
Дата: 29.08.07 15:20
Оценка:
День добрый, необходимо написать свою реализацию InterlockedExchange, корректен ли такой код?

LONG MyInterlockedExchange(LPLONG Target, LONG Value)
{
    volatile long l = *Target; // Save previouse value

    __asm
    {
        mov        eax, Value
        mov        edx, Target
        lock    xchg DWORD PTR[edx],eax
    }

    return l;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.