mirror of https://github.com/WebAssembly/wasi-libc
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
661 B
24 lines
661 B
4 weeks ago
|
#include "pthread_impl.h"
|
||
|
/*
|
||
|
Note on PTHREAD_PROCESS_SHARED:
|
||
|
Because WASM doesn't have virtual memory nor subprocesses,
|
||
|
there isn't any way for the same synchronization object to have multiple mappings.
|
||
|
Thus we can completely ignore it here.
|
||
|
*/
|
||
|
|
||
|
int pthread_barrier_init(pthread_barrier_t *restrict b, const pthread_barrierattr_t *restrict a, unsigned count)
|
||
|
{
|
||
|
if (count-1 > INT_MAX-1) return EINVAL;
|
||
|
*b = (pthread_barrier_t){ ._b_limit = count-1 };
|
||
|
return 0;
|
||
|
}
|
||
|
int pthread_barrier_destroy(pthread_barrier_t *b)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
int pthread_barrier_wait(pthread_barrier_t *b)
|
||
|
{
|
||
|
if (!b->_b_limit) return PTHREAD_BARRIER_SERIAL_THREAD;
|
||
|
__builtin_trap();
|
||
|
}
|