Update platform for emscripten builds
This commit is contained in:
+11
-2
@@ -96,7 +96,11 @@ DN_API void DN_OS_Init(DN_OSCore *os, DN_OSInitArgs *args)
|
||||
os->page_size = system_info.dwPageSize;
|
||||
os->alloc_granularity = system_info.dwAllocationGranularity;
|
||||
#else
|
||||
os->logical_processor_count = get_nprocs();
|
||||
#if defined(DN_PLATFORM_EMSCRIPTEN)
|
||||
os->logical_processor_count = 1;
|
||||
#else
|
||||
os->logical_processor_count = get_nprocs();
|
||||
#endif
|
||||
os->page_size = getpagesize();
|
||||
os->alloc_granularity = os->page_size;
|
||||
#endif
|
||||
@@ -106,10 +110,15 @@ DN_API void DN_OS_Init(DN_OSCore *os, DN_OSInitArgs *args)
|
||||
DN_OS_EmitLogsWithOSPrintFunctions(os);
|
||||
|
||||
{
|
||||
#if defined(DN_PLATFORM_EMSCRIPTEN)
|
||||
os->arena = DN_Arena_InitFromOSVMem(DN_Megabytes(1), DN_Kilobytes(4), DN_ArenaFlags_NoAllocTrack);
|
||||
#else
|
||||
os->arena = DN_Arena_InitFromOSHeap(DN_Megabytes(1), DN_ArenaFlags_NoAllocTrack);
|
||||
#endif
|
||||
|
||||
#if defined(DN_PLATFORM_WIN32)
|
||||
os->platform_context = DN_Arena_New(&os->arena, DN_W32Core, DN_ZeroMem_Yes);
|
||||
#elif defined(DN_PLATFORM_POSIX)
|
||||
#elif defined(DN_PLATFORM_POSIX) || defined(DN_PLATFORM_EMSCRIPTEN)
|
||||
os->platform_context = DN_Arena_New(&os->arena, DN_POSIXCore, DN_ZeroMem_Yes);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1007,14 +1007,14 @@ static DN_POSIXCore *DN_OS_GetPOSIXCore_()
|
||||
static DN_POSIXSyncPrimitive *DN_OS_U64ToPOSIXSyncPrimitive_(DN_U64 u64)
|
||||
{
|
||||
DN_POSIXSyncPrimitive *result = nullptr;
|
||||
DN_Memcpy(&result, &u64, sizeof(u64));
|
||||
DN_Memcpy(&result, &u64, sizeof(result));
|
||||
return result;
|
||||
}
|
||||
|
||||
static DN_U64 DN_POSIX_SyncPrimitiveToU64(DN_POSIXSyncPrimitive *primitive)
|
||||
{
|
||||
DN_U64 result = 0;
|
||||
static_assert(sizeof(result) == sizeof(primitive), "Pointer size mis-match");
|
||||
static_assert(sizeof(result) >= sizeof(primitive), "Pointer size mis-match");
|
||||
DN_Memcpy(&result, &primitive, sizeof(result));
|
||||
return result;
|
||||
}
|
||||
@@ -1292,10 +1292,14 @@ DN_API DN_U32 DN_OS_ThreadID()
|
||||
|
||||
DN_API void DN_Posix_ThreadSetName(DN_Str8 name)
|
||||
{
|
||||
#if defined(DN_PLATFORM_EMSCRIPTEN)
|
||||
(void)name;
|
||||
#else
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSPushTMem(nullptr);
|
||||
DN_Str8 copy = DN_Str8_Copy(tmem.arena, name);
|
||||
pthread_t thread = pthread_self();
|
||||
DN_Str8 copy = DN_Str8_Copy(tmem.arena, name);
|
||||
pthread_t thread = pthread_self();
|
||||
pthread_setname_np(thread, (char *)copy.data);
|
||||
#endif
|
||||
}
|
||||
|
||||
DN_API DN_POSIXProcSelfStatus DN_Posix_ProcSelfStatus()
|
||||
@@ -1487,7 +1491,7 @@ DN_API void DN_OS_HttpRequestAsync(DN_OSHttpResponse *response,
|
||||
fetch_attribs.onerror = DN_OS_HttpRequestEMFetchOnErrorCallback;
|
||||
fetch_attribs.userData = response;
|
||||
|
||||
DN_Str8 url = DN_Str8_InitF(scratch_arena, "%.*s%.*s", DN_STR_FMT(host), DN_STR_FMT(path));
|
||||
DN_Str8 url = DN_Str8_InitF(tmem, "%.*s%.*s", DN_STR_FMT(host), DN_STR_FMT(path));
|
||||
DN_LOG_InfoF("Initiating HTTP '%s' request to '%.*s' with payload '%.*s'",
|
||||
fetch_attribs.requestMethod,
|
||||
DN_STR_FMT(url),
|
||||
|
||||
Reference in New Issue
Block a user