Download ide/native/core/threading.h from Snapkitty/sovereign-engine-v2: direct link, hf CLI and curl.
- Browser
- Download file 1.13 kB
-
https://huggingface.co/Snapkitty/sovereign-engine-v2/resolve/main/ide/native/core/threading.h
- Command line
-
hf download hf://Snapkitty/sovereign-engine-v2/ide/native/core/threading.h
-
curl -L -o threading.h https://huggingface.co/Snapkitty/sovereign-engine-v2/resolve/main/ide/native/core/threading.h
1.13 kB
| typedef struct SovThread { | |
| HANDLE handle; | |
| DWORD id; | |
| void (*entry)(void *); | |
| void *arg; | |
| } SovThread; | |
| typedef struct SovMutex { | |
| SRWLOCK lock; | |
| } SovMutex; | |
| typedef struct SovCondVar { | |
| CONDITION_VARIABLE cv; | |
| } SovCondVar; | |
| static inline void sov_mutex_init(SovMutex *m) { InitializeSRWLock(&m->lock); } | |
| static inline void sov_mutex_lock(SovMutex *m) { AcquireSRWLockExclusive(&m->lock); } | |
| static inline void sov_mutex_unlock(SovMutex *m) { ReleaseSRWLockExclusive(&m->lock); } | |
| static inline void sov_condvar_init(SovCondVar *cv) { InitializeConditionVariable(&cv->cv); } | |
| static inline void sov_condvar_wait(SovCondVar *cv, SovMutex *m) { SleepConditionVariableSRW(&cv->cv, &m->lock, INFINITE, 0); } | |
| static inline void sov_condvar_signal(SovCondVar *cv) { WakeConditionVariable(&cv->cv); } | |
| static inline void sov_condvar_broadcast(SovCondVar *cv) { WakeAllConditionVariable(&cv->cv); } | |