libobs/util: Add atomic functions for bool values
parent
40250a62f0
commit
a914bb24fa
|
@ -261,6 +261,11 @@ bool os_atomic_compare_swap_long(volatile long *val, long old_val, long new_val)
|
||||||
return __sync_bool_compare_and_swap(val, old_val, new_val);
|
return __sync_bool_compare_and_swap(val, old_val, new_val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool os_atomic_set_bool(volatile bool *ptr, bool val)
|
||||||
|
{
|
||||||
|
return __sync_lock_test_and_set(ptr, val);
|
||||||
|
}
|
||||||
|
|
||||||
void os_set_thread_name(const char *name)
|
void os_set_thread_name(const char *name)
|
||||||
{
|
{
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
|
|
|
@ -181,6 +181,11 @@ bool os_atomic_compare_swap_long(volatile long *val, long old_val, long new_val)
|
||||||
return InterlockedCompareExchange(val, new_val, old_val) == old_val;
|
return InterlockedCompareExchange(val, new_val, old_val) == old_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool os_atomic_set_bool(volatile bool *ptr, bool val)
|
||||||
|
{
|
||||||
|
return (bool)InterlockedExchange8((volatile char*)ptr, (char)val);
|
||||||
|
}
|
||||||
|
|
||||||
#define VC_EXCEPTION 0x406D1388
|
#define VC_EXCEPTION 0x406D1388
|
||||||
|
|
||||||
#pragma pack(push,8)
|
#pragma pack(push,8)
|
||||||
|
|
|
@ -76,6 +76,8 @@ EXPORT long os_atomic_dec_long(volatile long *val);
|
||||||
EXPORT bool os_atomic_compare_swap_long(volatile long *val,
|
EXPORT bool os_atomic_compare_swap_long(volatile long *val,
|
||||||
long old_val, long new_val);
|
long old_val, long new_val);
|
||||||
|
|
||||||
|
EXPORT bool os_atomic_set_bool(volatile bool *ptr, bool val);
|
||||||
|
|
||||||
EXPORT void os_set_thread_name(const char *name);
|
EXPORT void os_set_thread_name(const char *name);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue