| 92 | } |
| 93 | |
| 94 | void acl_atomic_set(ACL_ATOMIC *self, void *value) |
| 95 | { |
| 96 | #ifndef HAS_ATOMIC |
| 97 | acl_pthread_mutex_lock(&self->lock); |
| 98 | self->value = value; |
| 99 | acl_pthread_mutex_unlock(&self->lock); |
| 100 | #elif defined(ACL_WINDOWS) |
| 101 | InterlockedExchangePointer((volatile PVOID*) &self->value, value); |
| 102 | #else |
| 103 | (void) __sync_lock_test_and_set(&self->value, value); |
| 104 | #endif |
| 105 | } |
| 106 | |
| 107 | void *acl_atomic_cas(ACL_ATOMIC *self, void *cmp, void *value) |
| 108 | { |
no test coverage detected
searching dependent graphs…