[3.11] gh-95174: Add pthread stubs for WASI (GH-95234) (#95503)

Co-authored-by: Brett Cannon <brett@python.org>.
(cherry picked from commit 0fe645d6fd)

Co-authored-by: Christian Heimes <christian@python.org>
This commit is contained in:
Christian Heimes 2022-08-01 16:37:45 +02:00 committed by GitHub
parent 9af9ea28e7
commit e62a0dfab2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 332 additions and 41 deletions

View file

@ -93,8 +93,15 @@ _PyThread_debug_deprecation(void)
#endif
}
#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"
@ -208,7 +215,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
@ -219,8 +228,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);