gh-95174: Add pthread stubs for WASI (GH-95234)

Co-authored-by: Brett Cannon <brett@python.org>
This commit is contained in:
Christian Heimes 2022-07-27 20:28:06 +02:00 committed by GitHub
parent 226d02bb10
commit 0fe645d6fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 332 additions and 41 deletions

View file

@ -55,8 +55,15 @@ PyThread_init_thread(void)
PyThread__init_thread();
}
#if defined(_POSIX_THREADS)
# define PYTHREAD_NAME "pthread"
#if defined(HAVE_PTHREAD_STUBS)
# define PYTHREAD_NAME "pthread-stubs"
# include "thread_pthread_stubs.h"
#elif defined(_POSIX_THREADS)
# if defined(__EMSCRIPTEN__) || !defined(__EMSCRIPTEN_PTHREADS__)
# define PYTHREAD_NAME "pthread-stubs"
# else
# define PYTHREAD_NAME "pthread"
# endif
# include "thread_pthread.h"
#elif defined(NT_THREADS)
# define PYTHREAD_NAME "nt"
@ -171,7 +178,9 @@ PyThread_GetInfo(void)
}
PyStructSequence_SET_ITEM(threadinfo, pos++, value);
#ifdef _POSIX_THREADS
#ifdef HAVE_PTHREAD_STUBS
value = Py_NewRef(Py_None);
#elif defined(_POSIX_THREADS)
#ifdef USE_SEMAPHORES
value = PyUnicode_FromString("semaphore");
#else
@ -182,8 +191,7 @@ PyThread_GetInfo(void)
return NULL;
}
#else
Py_INCREF(Py_None);
value = Py_None;
value = Py_NewRef(Py_None);
#endif
PyStructSequence_SET_ITEM(threadinfo, pos++, value);