~atomic_spinlock_t() {
ceph_spin_destroy(&lock);
}
- void set(size_t v) {
+ void set(T v) {
ceph_spin_lock(&lock);
val = v;
ceph_spin_unlock(&lock);
ceph_spin_unlock(&lock);
}
T read() const {
- signed long ret;
+ T ret;
ceph_spin_lock(&lock);
ret = val;
ceph_spin_unlock(&lock);
AO_t val;
public:
atomic_t(AO_t i=0) : val(i) {}
- void set(size_t v) {
+ void set(AO_t v) {
AO_store(&val, v);
}
AO_t inc() {
void add(AO_t add_me) {
AO_fetch_and_add(&val, add_me);
}
- void sub(int sub_me) {
- int negsub = 0 - sub_me;
+ void sub(AO_t sub_me) {
+ AO_t negsub = 0 - sub_me;
AO_fetch_and_add_write(&val, (AO_t)negsub);
}
AO_t read() const {
#include "include/Spinlock.h"
namespace ceph {
- typedef atomic_spinlock_t<int> atomic_t;
- typedef atomic_spinlock_t<long long> atomic64_t;
+ typedef atomic_spinlock_t<unsigned> atomic_t;
+ typedef atomic_spinlock_t<unsigned long long> atomic64_t;
}
#endif