Clownfish

 view release on metacpan or  search on metacpan

cfcore/Clownfish/Util/Atomic.c  view on Meta::CPAN


#include "Clownfish/Util/Atomic.h"

/********************************** Windows ********************************/
#ifdef CHY_HAS_WINDOWS_H
#include <windows.h>

bool
cfish_Atomic_wrapped_cas_ptr(void *volatile *target, void *old_value,
                            void *new_value) {
    return InterlockedCompareExchangePointer(target, new_value, old_value)
           == old_value;
}

/************************** Fall back to ptheads ***************************/
#elif defined(CHY_HAS_PTHREAD_H)

#include <pthread.h>
pthread_mutex_t cfish_Atomic_mutex = PTHREAD_MUTEX_INITIALIZER;

#endif



( run in 0.479 second using v1.01-cache-2.11-cpan-49f99fa48dc )