kernel: atomic_*() functions rework

* No need for the atomically changed variables to be declared as
   volatile.
 * Drop support for atomically getting and setting unaligned data.
 * Introduce atomic_get_and_set[64]() which works the same as
   atomic_set[64]() used to. atomic_set[64]() does not return the
   previous value anymore.
This commit is contained in:
Pawel Dziepak
2013-11-05 22:32:59 +01:00
parent e7dba861fd
commit 077c84eb27
47 changed files with 360 additions and 253 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ protected:
virtual void LastReferenceReleased();
protected:
vint32 fReferenceCount;
int32 fReferenceCount;
};
+1 -1
View File
@@ -30,7 +30,7 @@ public:
void GetUnchecked();
private:
vint32 fUseCount;
int32 fUseCount;
BWeakReferenceable* fObject;
};
+1 -1
View File
@@ -71,7 +71,7 @@ int32 recursive_lock_get_recursion(recursive_lock *lock);
#define INIT_ONCE_UNINITIALIZED -1
#define INIT_ONCE_INITIALIZED -4
status_t __init_once(vint32* control, status_t (*initRoutine)(void*),
status_t __init_once(int32* control, status_t (*initRoutine)(void*),
void* data);
#ifdef __cplusplus