port(EterLib): Mutex/Thread/FileLoaderThread/GrpVertexBufferDynamic verbatim over Win32Crt kernel-object shims
Adds CreateSemaphore/ReleaseSemaphore/WaitForSingleObject/CloseHandle/ SetThreadPriority/_beginthreadex to Win32Crt; port.file_loader_thread covers the shims, CThread and both the un-Created (40250 live) and Created loader. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
e0cdcee2e6
commit
042bddf195
@@ -73,6 +73,21 @@ BOOL FindNextFile(HANDLE handle, WIN32_FIND_DATA* data);
|
||||
BOOL FindClose(HANDLE handle);
|
||||
void Sleep(DWORD milliseconds);
|
||||
|
||||
// kernel32 synchronization objects used by EterLib (FileLoaderThread): a counting semaphore and a
|
||||
// _beginthreadex thread, both waitable with WaitForSingleObject and freed with CloseHandle.
|
||||
// Only the unnamed, default-security forms exist; thread priority is accepted and ignored.
|
||||
#define WAIT_OBJECT_0 0x00000000L
|
||||
#define WAIT_TIMEOUT 0x00000102L
|
||||
#define WAIT_FAILED 0xFFFFFFFF
|
||||
#define THREAD_PRIORITY_NORMAL 0
|
||||
HANDLE CreateSemaphore(void* security_attributes, LONG initial_count, LONG maximum_count, LPCSTR name);
|
||||
BOOL ReleaseSemaphore(HANDLE semaphore, LONG release_count, LONG* previous_count);
|
||||
DWORD WaitForSingleObject(HANDLE handle, DWORD milliseconds);
|
||||
BOOL CloseHandle(HANDLE handle);
|
||||
BOOL SetThreadPriority(HANDLE thread, int priority);
|
||||
uintptr_t _beginthreadex(void* security, unsigned stack_size, unsigned (*start_address)(void*), void* arglist,
|
||||
unsigned initflag, unsigned* thrdaddr);
|
||||
|
||||
// MSVC <stdlib.h> __min / __max
|
||||
#ifndef __min
|
||||
#define __min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
|
||||
Reference in New Issue
Block a user