mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
util: Add os_atomic_compare_swap_long
This commit is contained in:
parent
bf1ca59965
commit
a907d74903
@ -256,6 +256,11 @@ long os_atomic_dec_long(volatile long *val)
|
||||
return __sync_sub_and_fetch(val, 1);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
void os_set_thread_name(const char *name)
|
||||
{
|
||||
#if defined(__APPLE__)
|
||||
|
@ -176,6 +176,11 @@ long os_atomic_dec_long(volatile long *val)
|
||||
return InterlockedDecrement(val);
|
||||
}
|
||||
|
||||
bool os_atomic_compare_swap_long(volatile long *val, long old_val, long new_val)
|
||||
{
|
||||
return InterlockedCompareExchange(val, new_val, old_val) == old_val;
|
||||
}
|
||||
|
||||
#define VC_EXCEPTION 0x406D1388
|
||||
|
||||
#pragma pack(push,8)
|
||||
|
@ -73,6 +73,9 @@ EXPORT int os_sem_wait(os_sem_t *sem);
|
||||
EXPORT long os_atomic_inc_long(volatile long *val);
|
||||
EXPORT long os_atomic_dec_long(volatile long *val);
|
||||
|
||||
EXPORT bool os_atomic_compare_swap_long(volatile long *val,
|
||||
long old_val, long new_val);
|
||||
|
||||
EXPORT void os_set_thread_name(const char *name);
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user