return 1;
}
-static inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
-{
- *ret = atomic_load_explicit(&refcnt->val, memory_order_acquire);
- return 1;
-}
-
#elif defined(__GNUC__) && defined(__ATOMIC_RELAXED) && __GCC_ATOMIC_INT_LOCK_FREE > 0
#define HAVE_ATOMICS 1
return 1;
}
-static __inline__ int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
-{
- *ret = __atomic_load_n(&refcnt->val, __ATOMIC_RELAXED);
- return 1;
-}
-
#elif defined(__ICL) && defined(_WIN32)
#define HAVE_ATOMICS 1
return 1;
}
-static __inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
-{
- *ret = _InterlockedExchangeAdd((void *)&refcnt->val, 0);
- return 1;
-}
-
#elif defined(_MSC_VER) && _MSC_VER >= 1200
#define HAVE_ATOMICS 1
return 1;
}
-static __inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
-{
- *ret = _InterlockedExchangeAdd_acq((void *)&refcnt->val, 0);
- return 1;
-}
-
#else
#pragma intrinsic(_InterlockedExchangeAdd)
return 1;
}
-static __inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
-{
- *ret = _InterlockedExchangeAdd(&refcnt->val, 0);
- return 1;
-}
-
#endif
#endif
return CRYPTO_atomic_add(&refcnt->val, -1, ret, refcnt->lock);
}
-static ossl_unused ossl_inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt,
- int *ret)
-{
- return CRYPTO_atomic_load_int(&refcnt->val, ret, refcnt->lock);
-}
-
#define CRYPTO_NEW_FREE_DEFINED 1
static ossl_unused ossl_inline int CRYPTO_NEW_REF(CRYPTO_REF_COUNT *refcnt, int n)
{
return 1;
}
-static ossl_unused ossl_inline int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt,
- int *ret)
-{
- *ret = refcnt->val;
- return 1;
-}
-
#endif /* OPENSSL_THREADS */
#endif