Quantcast
Channel: Compiler reordering around mutex boundaries? - Stack Overflow
Viewing all articles
Browse latest Browse all 7

Compiler reordering around mutex boundaries?

$
0
0

Suppose I have my own non-inline functions LockMutex and UnlockMutex, which are using some proper mutex - such as boost - inside. How will the compiler know not to reorder other operations with regard to calls to the LockMutex and UnlockMutex? It can not possibly know how will I implement these functions in some other compilation unit.

void SomeClass::store(int i){  LockMutex(_m);  _field = i;  // could the compiler move this around?  UnlockMutex(_m);}

ps: One is supposed to use instances of classes for holding locks to guarantee unlocking. I have left this out to simplify the example.


Viewing all articles
Browse latest Browse all 7

Latest Images

Trending Articles





Latest Images