expose platform_thread.h to users of milepost

This commit is contained in:
Reuben Dunnington 2023-07-30 21:08:29 -07:00
parent ff5e6e6039
commit 003af621a0
Signed by: rdunnington
GPG Key ID: 4EC5290E704FD482
2 changed files with 22 additions and 24 deletions

View File

@ -28,6 +28,7 @@
#include"platform/platform_clock.h"
#include"platform/platform_path.h"
#include"platform/platform_io.h"
#include"platform/platform_thread.h"
/*
#include"platform_rng.h"
#include"platform_socket.h"

View File

@ -34,17 +34,14 @@ typedef struct mp_thread mp_thread;
typedef i32 (*mp_thread_start_function)(void* userPointer);
mp_thread* mp_thread_create(mp_thread_start_function start, void* userPointer);
mp_thread* mp_thread_create_with_name(mp_thread_start_function start, void* userPointer, const char* name);
const char* mp_thread_get_name(mp_thread* thread);
u64 mp_thread_unique_id(mp_thread* thread);
u64 mp_thread_self_id();
int mp_thread_signal(mp_thread* thread, int sig);
int mp_thread_join(mp_thread* thread, i64* exitCode);
int mp_thread_detach(mp_thread* thread);
MP_API mp_thread* mp_thread_create(mp_thread_start_function start, void* userPointer);
MP_API mp_thread* mp_thread_create_with_name(mp_thread_start_function start, void* userPointer, const char* name);
MP_API const char* mp_thread_get_name(mp_thread* thread);
MP_API u64 mp_thread_unique_id(mp_thread* thread);
MP_API u64 mp_thread_self_id();
MP_API int mp_thread_signal(mp_thread* thread, int sig);
MP_API int mp_thread_join(mp_thread* thread, i64* exitCode);
MP_API int mp_thread_detach(mp_thread* thread);
//---------------------------------------------------------------
// Platform Mutex API
@ -52,10 +49,10 @@ int mp_thread_detach(mp_thread* thread);
typedef struct mp_mutex mp_mutex;
mp_mutex* mp_mutex_create();
int mp_mutex_destroy(mp_mutex* mutex);
int mp_mutex_lock(mp_mutex* mutex);
int mp_mutex_unlock(mp_mutex* mutex);
MP_API mp_mutex* mp_mutex_create();
MP_API int mp_mutex_destroy(mp_mutex* mutex);
MP_API int mp_mutex_lock(mp_mutex* mutex);
MP_API int mp_mutex_unlock(mp_mutex* mutex);
//---------------------------------------------------------------
// Lightweight ticket mutex API
@ -67,9 +64,9 @@ typedef struct mp_ticket_spin_mutex
volatile _Atomic(u64) serving;
} mp_ticket_spin_mutex;
void mp_ticket_spin_mutex_init(mp_ticket_spin_mutex* mutex);
void mp_ticket_spin_mutex_lock(mp_ticket_spin_mutex* mutex);
void mp_ticket_spin_mutex_unlock(mp_ticket_spin_mutex* mutex);
MP_API void mp_ticket_spin_mutex_init(mp_ticket_spin_mutex* mutex);
MP_API void mp_ticket_spin_mutex_lock(mp_ticket_spin_mutex* mutex);
MP_API void mp_ticket_spin_mutex_unlock(mp_ticket_spin_mutex* mutex);
//---------------------------------------------------------------
// Platform condition variable API
@ -77,12 +74,12 @@ void mp_ticket_spin_mutex_unlock(mp_ticket_spin_mutex* mutex);
typedef struct mp_condition mp_condition;
mp_condition* mp_condition_create();
int mp_condition_destroy(mp_condition* cond);
int mp_condition_wait(mp_condition* cond, mp_mutex* mutex);
int mp_condition_timedwait(mp_condition* cond, mp_mutex* mutex, f64 seconds);
int mp_condition_signal(mp_condition* cond);
int mp_condition_broadcast(mp_condition* cond);
MP_API mp_condition* mp_condition_create();
MP_API int mp_condition_destroy(mp_condition* cond);
MP_API int mp_condition_wait(mp_condition* cond, mp_mutex* mutex);
MP_API int mp_condition_timedwait(mp_condition* cond, mp_mutex* mutex, f64 seconds);
MP_API int mp_condition_signal(mp_condition* cond);
MP_API int mp_condition_broadcast(mp_condition* cond);
#ifdef __cplusplus
} // extern "C"