Make improvements

- Improve compatibility with Blink virtual machine
- Add non-POSIX APIs for joining threads and signal masks
- Never ever use anything except 32-bit integers for atomics
- Add some `#undef` statements to workaround `ctags` problems
This commit is contained in:
Justine Tunney 2022-11-10 21:52:47 -08:00
parent b46ac13504
commit f2af97711b
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
114 changed files with 902 additions and 363 deletions

View file

@ -20,14 +20,22 @@
#include "libc/str/str.h"
#include "libc/thread/thread.h"
#ifdef __mmi_lock
#undef __mmi_lock
#endif
#ifdef __mmi_unlock
#undef __mmi_unlock
#endif
// this lock currently needs to be (1) recursive and (2) not nsync
extern pthread_mutex_t __mmi_lock_obj;
void(__mmi_lock)(void) {
void __mmi_lock(void) {
pthread_mutex_lock(&__mmi_lock_obj);
}
void(__mmi_unlock)(void) {
void __mmi_unlock(void) {
pthread_mutex_unlock(&__mmi_lock_obj);
}