Removed atomic integer stuff from engine - instead, we guard init and release in the adapters.

doc_update_sequoia
Krista Bennett 6 years ago
parent 9efd145f1c
commit c8c87e62cd

@ -9,7 +9,7 @@
#include "sync_fsm.h"
// This is C 2011
static platform_atomic_integer init_count = -1;
static _Atomic volatile int init_count = -1;
// sql overloaded functions - modified from sqlite3.c
static void _sql_lower(sqlite3_context* ctx, int argc, sqlite3_value** argv) {
@ -267,7 +267,7 @@ DYNAMIC_API PEP_STATUS init(PEP_SESSION *session)
// This increment is made atomic by using "_Atomic volatile" qualifier thus
// ensuring consistent counting provided that init/release calls are balanced
int _count = platform_atomic_increment(init_count);
int _count = ++init_count;
if (_count == 0)
in_first = true;
@ -785,7 +785,7 @@ pep_error:
DYNAMIC_API void release(PEP_SESSION session)
{
bool out_last = false;
int _count = platform_atomic_decrement(init_count);
int _count = --init_count;
assert(_count >= -1);
assert(session);

@ -84,10 +84,6 @@ void uuid_unparse_upper(pEpUUID uu, uuid_string_t out);
typedef uuid_t pEpUUID;
#endif
#define platform_atomic_integer _Atomic volatile int
#define platform_atomic_increment(var) ++var
#define platform_atomic_decrement(var) --var
#ifdef __cplusplus
}
#endif

@ -89,10 +89,6 @@ void uuid_unparse_upper(pEpUUID uu, uuid_string_t out);
#define inline __inline
#endif
#define platform_atomic_integer LONG volatile
#define platform_atomic_increment(var) InterlockedIncrement(&var)
#define platform_atomic_decrement(var) InterlockedDecrement(&var)
#ifdef __cplusplus
}
#endif

Loading…
Cancel
Save