Update sys/unix; Rename thread.create_and_start

This commit is contained in:
gingerBill
2020-06-27 11:26:38 +01:00
parent 9fdebebd28
commit f92b4c7849
4 changed files with 14 additions and 2 deletions
+6
View File
@@ -78,3 +78,9 @@ PTHREAD_INHERIT_SCHED :: 1;
PTHREAD_EXPLICIT_SCHED :: 2;
PTHREAD_PROCESS_SHARED :: 1;
PTHREAD_PROCESS_PRIVATE :: 2;
PTHREAD_MUTEX_NORMAL :: 0;
PTHREAD_MUTEX_RECURSIVE :: 1;
PTHREAD_MUTEX_ERRORCHECK :: 2;
+4
View File
@@ -62,6 +62,10 @@ pthread_barrierattr_t :: opaque struct #align 16 {
_: [PTHREAD_BARRIERATTR_T_SIZE] c.char,
};
PTHREAD_MUTEX_NORMAL :: 0;
PTHREAD_MUTEX_RECURSIVE :: 1;
PTHREAD_MUTEX_ERRORCHECK :: 2;
// TODO(tetra, 2019-11-01): Maybe make `enum c.int`s for these?
PTHREAD_CREATE_JOINABLE :: 0;
+2 -1
View File
@@ -53,7 +53,7 @@ foreign pthread {
pthread_attr_getstack :: proc(attrs: ^pthread_attr_t, stack_ptr: ^rawptr, stack_size: ^u64) -> c.int ---;
sched_yield :: proc() -> c.int ---;
}
@(default_calling_convention="c")
@@ -101,6 +101,7 @@ foreign pthread {
pthread_mutexattr_init :: proc(attrs: ^pthread_mutexattr_t) -> c.int ---;
pthread_mutexattr_destroy :: proc(attrs: ^pthread_mutexattr_t) -> c.int ---;
pthread_mutexattr_settype :: proc(attrs: ^pthread_mutexattr_t, type: c.int) -> c.int ---;
// p-shared = "process-shared" - i.e: is this mutex shared among multiple processes?
// values: PTHREAD_PROCESS_PRIVATE, PTHREAD_PROCESS_SHARED
+2 -1
View File
@@ -44,8 +44,9 @@ run_with_data :: proc(fn: proc(data: rawptr), data: rawptr, init_context: Maybe(
}
run_with_thread_proc :: proc(fn: Thread_Proc, init_context: Maybe(runtime.Context) = nil, priority := Thread_Priority.Normal) {
create_and_start :: proc(fn: Thread_Proc, init_context: Maybe(runtime.Context) = nil, priority := Thread_Priority.Normal) -> ^Thread {
t := create(fn, priority);
t.init_context = init_context;
start(t);
return t;
}