diff --git a/code/vendors/flecs/flecs-os_api-stdcpp.cpp b/code/vendors/flecs/flecs-os_api-stdcpp.cpp index 4445f47..c3f54de 100644 --- a/code/vendors/flecs/flecs-os_api-stdcpp.cpp +++ b/code/vendors/flecs/flecs-os_api-stdcpp.cpp @@ -5,6 +5,10 @@ #include "flecs/flecs.h" +#ifdef _WIN32 +#include +#endif + static ecs_os_thread_t stdcpp_thread_new( ecs_os_thread_callback_t callback, @@ -32,8 +36,8 @@ int32_t stdcpp_ainc(int32_t *count) { value = __sync_add_and_fetch (count, 1); return value; #else - /* Unsupported */ - abort(); + (void)value; + return InterlockedIncrement(reinterpret_cast(count)); #endif } @@ -44,8 +48,8 @@ int32_t stdcpp_adec(int32_t *count) { value = __sync_sub_and_fetch (count, 1); return value; #else - /* Unsupported */ - abort(); + (void)value; + return InterlockedDecrement(reinterpret_cast(count)); #endif }