2010-07-07 13 views
-1

J'ai besoin d'une fonction pour obtenir une valeur atomique. Quelque chose appelé OSAtomicGet(). Analogique de g_atomic_int_get().Atomiquement obtenir la valeur sur Mac OS

+1

Récupère une valeur int depuis où? – mcandre

+0

Сounterquestion: où toutes les valeurs int sont stockées pour que vous puissiez y accéder avec OSAtomic * API? – shoumikhin

Répondre

2

Le déréférencement d'un pointeur connu d'un int est toujours atomique sur les architectures exécutant Mac/iStuffs. Utilisez OSMemoryBarrier() si vous avez besoin d'une barrière de mémoire.

int OSAtomicGet(volatile int* value) { 
    OSMemoryBarrier(); 
    return *value; 
} 
+0

Merci beaucoup! – shoumikhin