summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-12-21 19:32:43 (GMT)
committerGuido van Rossum <guido@python.org>1998-12-21 19:32:43 (GMT)
commit65d5b5763c6bbd99d2e2c6b219570f4562382ff0 (patch)
tree0a909da387c751fbfe8a90bb4a5a83f59f6c86a5
parent14f53a77579d411b7b3f491f45753315e40f1aa9 (diff)
downloadcpython-65d5b5763c6bbd99d2e2c6b219570f4562382ff0.zip
cpython-65d5b5763c6bbd99d2e2c6b219570f4562382ff0.tar.gz
cpython-65d5b5763c6bbd99d2e2c6b219570f4562382ff0.tar.bz2
Thanks to Chris Herborth, the thread primitives now have proper Py*
names in the source code (they already had those for the linker, through some smart macros; but the source still had the old, un-Py names).
-rw-r--r--Include/pythread.h76
-rw-r--r--Modules/_tkinter.c22
-rw-r--r--Modules/bsddbmodule.c18
-rw-r--r--Modules/signalmodule.c10
-rw-r--r--Modules/socketmodule.c16
-rw-r--r--Modules/stdwinmodule.c10
-rw-r--r--Modules/threadmodule.c79
-rw-r--r--Python/ceval.c26
-rw-r--r--Python/import.c14
-rw-r--r--Python/importdl.c2
-rw-r--r--Python/thread.c8
-rw-r--r--Python/thread_beos.h68
-rw-r--r--Python/thread_cthread.h84
-rw-r--r--Python/thread_foobar.h84
-rw-r--r--Python/thread_lwp.h86
-rw-r--r--Python/thread_nt.h90
-rw-r--r--Python/thread_os2.h78
-rw-r--r--Python/thread_pthread.h86
-rw-r--r--Python/thread_sgi.h114
-rw-r--r--Python/thread_solaris.h84
20 files changed, 507 insertions, 548 deletions
diff --git a/Include/pythread.h b/Include/pythread.h
index 9a2842c..752ab6d 100644
--- a/Include/pythread.h
+++ b/Include/pythread.h
@@ -1,7 +1,7 @@
#ifndef _THREAD_H_included
#define _THREAD_H_included
-#define NO_EXIT_PROG /* don't define exit_prog() */
+#define NO_EXIT_PROG /* don't define PyThread_exit_prog() */
/* (the result is no use of signals on SGI) */
#ifndef Py_PROTO
@@ -12,76 +12,42 @@
#endif
#endif
-typedef void *type_lock;
-typedef void *type_sema;
+typedef void *PyThread_type_lock;
+typedef void *PyThread_type_sema;
#ifdef __cplusplus
extern "C" {
#endif
-/* Macros defining new names for all these symbols */
-/* BeOS note: We have exit_thread(), and no legacy code to
- * support, so we won't allow exit_thread and _exit_thread
- * in here. Actually, I think these #defines should vanish;
- * aren't they cheesy in the face of the Great Renaming? [cjh]
- */
-#define init_thread PyThread_init_thread
-#define start_new_thread PyThread_start_new_thread
-#ifndef __BEOS__
-#define exit_thread PyThread_exit_thread
-#define _exit_thread PyThread__exit_thread
-#endif
-#define get_thread_ident PyThread_get_thread_ident
-#define allocate_lock PyThread_allocate_lock
-#define free_lock PyThread_free_lock
-#define acquire_lock PyThread_acquire_lock
-#define release_lock PyThread_release_lock
-#define allocate_sema PyThread_allocate_sema
-#define free_sema PyThread_free_sema
-#define down_sema PyThread_down_sema
-#define up_sema PyThread_up_sema
-#define exit_prog PyThread_exit_prog
-#define _exit_prog PyThread__exit_prog
-#define create_key PyThread_create_key
-#define delete_key PyThread_delete_key
-#define get_key_value PyThread_get_key_value
-#define set_key_value PyThread_set_key_value
-
-
-DL_IMPORT(void) init_thread Py_PROTO((void));
-DL_IMPORT(int) start_new_thread Py_PROTO((void (*)(void *), void *));
-#ifndef __BEOS__
-DL_IMPORT(void) exit_thread Py_PROTO((void));
-DL_IMPORT(void) _exit_thread Py_PROTO((void));
-#else
+DL_IMPORT(void) PyThread_init_thread Py_PROTO((void));
+DL_IMPORT(int) PyThread_start_new_thread Py_PROTO((void (*)(void *), void *));
DL_IMPORT(void) PyThread_exit_thread Py_PROTO((void));
-DL_IMPORT(void) PyThread__exit_thread Py_PROTO((void));
-#endif
-DL_IMPORT(long) get_thread_ident Py_PROTO((void));
+DL_IMPORT(void) PyThread__PyThread_exit_thread Py_PROTO((void));
+DL_IMPORT(long) PyThread_get_thread_ident Py_PROTO((void));
-DL_IMPORT(type_lock) allocate_lock Py_PROTO((void));
-DL_IMPORT(void) free_lock Py_PROTO((type_lock));
-DL_IMPORT(int) acquire_lock Py_PROTO((type_lock, int));
+DL_IMPORT(PyThread_type_lock) PyThread_allocate_lock Py_PROTO((void));
+DL_IMPORT(void) PyThread_free_lock Py_PROTO((PyThread_type_lock));
+DL_IMPORT(int) PyThread_acquire_lock Py_PROTO((PyThread_type_lock, int));
#define WAIT_LOCK 1
#define NOWAIT_LOCK 0
-DL_IMPORT(void) release_lock Py_PROTO((type_lock));
+DL_IMPORT(void) PyThread_release_lock Py_PROTO((PyThread_type_lock));
-DL_IMPORT(type_sema) allocate_sema Py_PROTO((int));
-DL_IMPORT(void) free_sema Py_PROTO((type_sema));
-DL_IMPORT(int) down_sema Py_PROTO((type_sema, int));
+DL_IMPORT(PyThread_type_sema) PyThread_allocate_sema Py_PROTO((int));
+DL_IMPORT(void) PyThread_free_sema Py_PROTO((PyThread_type_sema));
+DL_IMPORT(int) PyThread_down_sema Py_PROTO((PyThread_type_sema, int));
#define WAIT_SEMA 1
#define NOWAIT_SEMA 0
-DL_IMPORT(void) up_sema Py_PROTO((type_sema));
+DL_IMPORT(void) PyThread_up_sema Py_PROTO((PyThread_type_sema));
#ifndef NO_EXIT_PROG
-DL_IMPORT(void) exit_prog Py_PROTO((int));
-DL_IMPORT(void) _exit_prog Py_PROTO((int));
+DL_IMPORT(void) PyThread_exit_prog Py_PROTO((int));
+DL_IMPORT(void) PyThread__PyThread_exit_prog Py_PROTO((int));
#endif
-DL_IMPORT(int) create_key Py_PROTO((void));
-DL_IMPORT(void) delete_key Py_PROTO((int));
-DL_IMPORT(int) set_key_value Py_PROTO((int, void *));
-DL_IMPORT(void *) get_key_value Py_PROTO((int));
+DL_IMPORT(int) PyThread_create_key Py_PROTO((void));
+DL_IMPORT(void) PyThread_delete_key Py_PROTO((int));
+DL_IMPORT(int) PyThread_set_key_value Py_PROTO((int, void *));
+DL_IMPORT(void *) PyThread_get_key_value Py_PROTO((int));
#ifdef __cplusplus
}
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 9d68c69..46bf8da 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -171,29 +171,29 @@ PERFORMANCE OF THIS SOFTWARE.
*/
-static type_lock tcl_lock = 0;
+static PyThread_type_lock tcl_lock = 0;
static PyThreadState *tcl_tstate = NULL;
#define ENTER_TCL \
{ PyThreadState *tstate = PyThreadState_Get(); Py_BEGIN_ALLOW_THREADS \
- acquire_lock(tcl_lock, 1); tcl_tstate = tstate;
+ PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate;
#define LEAVE_TCL \
- tcl_tstate = NULL; release_lock(tcl_lock); Py_END_ALLOW_THREADS}
+ tcl_tstate = NULL; PyThread_release_lock(tcl_lock); Py_END_ALLOW_THREADS}
#define ENTER_OVERLAP \
Py_END_ALLOW_THREADS
#define LEAVE_OVERLAP_TCL \
- tcl_tstate = NULL; release_lock(tcl_lock); }
+ tcl_tstate = NULL; PyThread_release_lock(tcl_lock); }
#define ENTER_PYTHON \
{ PyThreadState *tstate = tcl_tstate; tcl_tstate = NULL; \
- release_lock(tcl_lock); PyEval_RestoreThread((tstate)); }
+ PyThread_release_lock(tcl_lock); PyEval_RestoreThread((tstate)); }
#define LEAVE_PYTHON \
{ PyThreadState *tstate = PyEval_SaveThread(); \
- acquire_lock(tcl_lock, 1); tcl_tstate = tstate; }
+ PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate; }
#else
@@ -1679,11 +1679,11 @@ Tkapp_MainLoop(self, args)
#ifdef WITH_THREAD
Py_BEGIN_ALLOW_THREADS
- acquire_lock(tcl_lock, 1);
+ PyThread_acquire_lock(tcl_lock, 1);
tcl_tstate = tstate;
result = Tcl_DoOneEvent(TCL_DONT_WAIT);
tcl_tstate = NULL;
- release_lock(tcl_lock);
+ PyThread_release_lock(tcl_lock);
if (result == 0)
Sleep(20);
Py_END_ALLOW_THREADS
@@ -1921,13 +1921,13 @@ EventHook()
#endif
#if defined(WITH_THREAD) || defined(MS_WINDOWS)
Py_BEGIN_ALLOW_THREADS
- acquire_lock(tcl_lock, 1);
+ PyThread_acquire_lock(tcl_lock, 1);
tcl_tstate = event_tstate;
result = Tcl_DoOneEvent(TCL_DONT_WAIT);
tcl_tstate = NULL;
- release_lock(tcl_lock);
+ PyThread_release_lock(tcl_lock);
if (result == 0)
Sleep(20);
Py_END_ALLOW_THREADS
@@ -2014,7 +2014,7 @@ init_tkinter()
Tkapp_Type.ob_type = &PyType_Type;
#ifdef WITH_THREAD
- tcl_lock = allocate_lock();
+ tcl_lock = PyThread_allocate_lock();
#endif
m = Py_InitModule("_tkinter", moduleMethods);
diff --git a/Modules/bsddbmodule.c b/Modules/bsddbmodule.c
index 1bb40e6..ef20624 100644
--- a/Modules/bsddbmodule.c
+++ b/Modules/bsddbmodule.c
@@ -57,7 +57,7 @@ typedef struct {
DB *di_bsddb;
int di_size; /* -1 means recompute */
#ifdef WITH_THREAD
- type_lock di_lock;
+ PyThread_type_lock di_lock;
#endif
} bsddbobject;
@@ -113,7 +113,7 @@ newdbhashobject(file, flags, mode,
dp->di_size = -1;
#ifdef WITH_THREAD
- dp->di_lock = allocate_lock();
+ dp->di_lock = PyThread_allocate_lock();
if (dp->di_lock == NULL) {
PyErr_SetString(BsddbError, "can't allocate lock");
Py_DECREF(dp);
@@ -169,7 +169,7 @@ newdbbtobject(file, flags, mode,
dp->di_size = -1;
#ifdef WITH_THREAD
- dp->di_lock = allocate_lock();
+ dp->di_lock = PyThread_allocate_lock();
if (dp->di_lock == NULL) {
PyErr_SetString(BsddbError, "can't allocate lock");
Py_DECREF(dp);
@@ -225,7 +225,7 @@ newdbrnobject(file, flags, mode,
dp->di_size = -1;
#ifdef WITH_THREAD
- dp->di_lock = allocate_lock();
+ dp->di_lock = PyThread_allocate_lock();
if (dp->di_lock == NULL) {
PyErr_SetString(BsddbError, "can't allocate lock");
Py_DECREF(dp);
@@ -242,9 +242,9 @@ bsddb_dealloc(dp)
{
#ifdef WITH_THREAD
if (dp->di_lock) {
- acquire_lock(dp->di_lock, 0);
- release_lock(dp->di_lock);
- free_lock(dp->di_lock);
+ PyThread_acquire_lock(dp->di_lock, 0);
+ PyThread_release_lock(dp->di_lock);
+ PyThread_free_lock(dp->di_lock);
dp->di_lock = NULL;
}
#endif
@@ -262,8 +262,8 @@ bsddb_dealloc(dp)
}
#ifdef WITH_THREAD
-#define BSDDB_BGN_SAVE(_dp) Py_BEGIN_ALLOW_THREADS acquire_lock(_dp->di_lock,1);
-#define BSDDB_END_SAVE(_dp) release_lock(_dp->di_lock); Py_END_ALLOW_THREADS
+#define BSDDB_BGN_SAVE(_dp) Py_BEGIN_ALLOW_THREADS PyThread_acquire_lock(_dp->di_lock,1);
+#define BSDDB_END_SAVE(_dp) PyThread_release_lock(_dp->di_lock); Py_END_ALLOW_THREADS
#else
#define BSDDB_BGN_SAVE(_dp) Py_BEGIN_ALLOW_THREADS
#define BSDDB_END_SAVE(_dp) Py_END_ALLOW_THREADS
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 11b624a..26bb940 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -221,7 +221,7 @@ signal_signal(self, args)
if (!PyArg_Parse(args, "(iO)", &sig_num, &obj))
return NULL;
#ifdef WITH_THREAD
- if (get_thread_ident() != main_thread) {
+ if (PyThread_get_thread_ident() != main_thread) {
PyErr_SetString(PyExc_ValueError,
"signal only works in main thread");
return NULL;
@@ -346,7 +346,7 @@ initsignal()
int i;
#ifdef WITH_THREAD
- main_thread = get_thread_ident();
+ main_thread = PyThread_get_thread_ident();
main_pid = getpid();
#endif
@@ -619,7 +619,7 @@ PyErr_CheckSignals()
if (!is_tripped)
return 0;
#ifdef WITH_THREAD
- if (get_thread_ident() != main_thread)
+ if (PyThread_get_thread_ident() != main_thread)
return 0;
#endif
if (!(f = PyEval_GetFrame()))
@@ -676,7 +676,7 @@ PyOS_InterruptOccurred()
{
if (Handlers[SIGINT].tripped) {
#ifdef WITH_THREAD
- if (get_thread_ident() != main_thread)
+ if (PyThread_get_thread_ident() != main_thread)
return 0;
#endif
Handlers[SIGINT].tripped = 0;
@@ -689,7 +689,7 @@ void
PyOS_AfterFork()
{
#ifdef WITH_THREAD
- main_thread = get_thread_ident();
+ main_thread = PyThread_get_thread_ident();
main_pid = getpid();
#endif
}
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 0564e17..ab0014c 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -313,7 +313,7 @@ BUILD_FUNC_DEF_4(PySocketSock_New,int,fd, int,family, int,type, int,proto)
/* Lock to allow python interpreter to continue, but only allow one
thread to be in gethostbyname */
#if defined(WITH_THREAD) && !defined(HAVE_GETHOSTBYNAME_R) && !defined(MS_WINDOWS)
-type_lock gethostbyname_lock;
+PyThread_type_lock gethostbyname_lock;
#endif
@@ -358,11 +358,11 @@ BUILD_FUNC_DEF_2(setipaddr, char*,name, struct sockaddr_in *,addr_ret)
hp = gethostbyname_r(name, &hp_allocated, buf, buf_len, &errnop);
#else /* not HAVE_GETHOSTBYNAME_R */
#if defined(WITH_THREAD) && !defined(MS_WINDOWS)
- acquire_lock(gethostbyname_lock,1);
+ PyThread_acquire_lock(gethostbyname_lock,1);
#endif
hp = gethostbyname(name);
#if defined(WITH_THREAD) && !defined(MS_WINDOWS)
- release_lock(gethostbyname_lock);
+ PyThread_release_lock(gethostbyname_lock);
#endif
#endif /* HAVE_GETHOSTBYNAME_R */
Py_END_ALLOW_THREADS
@@ -1417,11 +1417,11 @@ BUILD_FUNC_DEF_2(PySocket_gethostbyname_ex,PyObject *,self, PyObject *,args)
h = gethostbyname_r(name, &hp_allocated, buf, buf_len, &errnop);
#else /* not HAVE_GETHOSTBYNAME_R */
#if defined(WITH_THREAD) && !defined(MS_WINDOWS)
- acquire_lock(gethostbyname_lock,1);
+ PyThread_acquire_lock(gethostbyname_lock,1);
#endif
h = gethostbyname(name);
#if defined(WITH_THREAD) && !defined(MS_WINDOWS)
- release_lock(gethostbyname_lock);
+ PyThread_release_lock(gethostbyname_lock);
#endif
#endif /* HAVE_GETHOSTBYNAME_R */
Py_END_ALLOW_THREADS
@@ -1463,13 +1463,13 @@ BUILD_FUNC_DEF_2(PySocket_gethostbyaddr,PyObject *,self, PyObject *, args)
&hp_allocated, buf, buf_len, &errnop);
#else /* not HAVE_GETHOSTBYNAME_R */
#if defined(WITH_THREAD) && !defined(MS_WINDOWS)
- acquire_lock(gethostbyname_lock,1);
+ PyThread_acquire_lock(gethostbyname_lock,1);
#endif
h = gethostbyaddr((char *)&addr.sin_addr,
sizeof(addr.sin_addr),
AF_INET);
#if defined(WITH_THREAD) && !defined(MS_WINDOWS)
- release_lock(gethostbyname_lock);
+ PyThread_release_lock(gethostbyname_lock);
#endif
#endif /* HAVE_GETHOSTBYNAME_R */
Py_END_ALLOW_THREADS
@@ -2188,6 +2188,6 @@ initsocket()
/* Initialize gethostbyname lock */
#if defined(WITH_THREAD) && !defined(HAVE_GETHOSTBYNAME_R) && !defined(MS_WINDOWS)
- gethostbyname_lock = allocate_lock();
+ gethostbyname_lock = PyThread_allocate_lock();
#endif
}
diff --git a/Modules/stdwinmodule.c b/Modules/stdwinmodule.c
index 8b18f49..ffae730 100644
--- a/Modules/stdwinmodule.c
+++ b/Modules/stdwinmodule.c
@@ -87,11 +87,11 @@ PERFORMANCE OF THIS SOFTWARE.
#include "pythread.h"
-static type_lock StdwinLock; /* Lock held when interpreter not locked */
+static PyThread_type_lock StdwinLock; /* Lock held when interpreter not locked */
-#define BGN_STDWIN Py_BEGIN_ALLOW_THREADS acquire_lock(StdwinLock, 1);
-#define RET_STDWIN release_lock(StdwinLock); Py_BLOCK_THREADS
-#define END_STDWIN release_lock(StdwinLock); Py_END_ALLOW_THREADS
+#define BGN_STDWIN Py_BEGIN_ALLOW_THREADS PyThread_acquire_lock(StdwinLock, 1);
+#define RET_STDWIN PyThread_release_lock(StdwinLock); Py_BLOCK_THREADS
+#define END_STDWIN PyThread_release_lock(StdwinLock); Py_END_ALLOW_THREADS
#else
@@ -2659,6 +2659,6 @@ initstdwin()
PyDict_SetItemString(d, "error", StdwinError) != 0)
return;
#ifdef WITH_THREAD
- StdwinLock = allocate_lock();
+ StdwinLock = PyThread_allocate_lock();
#endif
}
diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c
index b08ff0b..3d5e4cc 100644
--- a/Modules/threadmodule.c
+++ b/Modules/threadmodule.c
@@ -49,7 +49,7 @@ static PyObject *ThreadError;
typedef struct {
PyObject_HEAD
- type_lock lock_lock;
+ PyThread_type_lock lock_lock;
} lockobject;
staticforward PyTypeObject Locktype;
@@ -61,7 +61,7 @@ newlockobject()
self = PyObject_NEW(lockobject, &Locktype);
if (self == NULL)
return NULL;
- self->lock_lock = allocate_lock();
+ self->lock_lock = PyThread_allocate_lock();
if (self->lock_lock == NULL) {
PyMem_DEL(self);
self = NULL;
@@ -75,15 +75,15 @@ lock_dealloc(self)
lockobject *self;
{
/* Unlock the lock so it's safe to free it */
- acquire_lock(self->lock_lock, 0);
- release_lock(self->lock_lock);
+ PyThread_acquire_lock(self->lock_lock, 0);
+ PyThread_release_lock(self->lock_lock);
- free_lock(self->lock_lock);
+ PyThread_free_lock(self->lock_lock);
PyMem_DEL(self);
}
static PyObject *
-lock_acquire_lock(self, args)
+lock_PyThread_acquire_lock(self, args)
lockobject *self;
PyObject *args;
{
@@ -97,7 +97,7 @@ lock_acquire_lock(self, args)
i = 1;
Py_BEGIN_ALLOW_THREADS
- i = acquire_lock(self->lock_lock, i);
+ i = PyThread_acquire_lock(self->lock_lock, i);
Py_END_ALLOW_THREADS
if (args == NULL) {
@@ -110,7 +110,7 @@ lock_acquire_lock(self, args)
static char acquire_doc[] =
"acquire([wait]) -> None or Boolean\n\
-(acquire_lock() is an obsolete synonym)\n\
+(PyThread_acquire_lock() is an obsolete synonym)\n\
\n\
Lock the lock. Without argument, this blocks if the lock is already\n\
locked (even by the same thread), waiting for another thread to release\n\
@@ -120,7 +120,7 @@ and the return value reflects whether the lock is acquired.\n\
The blocking operation is not interruptible.";
static PyObject *
-lock_release_lock(self, args)
+lock_PyThread_release_lock(self, args)
lockobject *self;
PyObject *args;
{
@@ -128,20 +128,20 @@ lock_release_lock(self, args)
return NULL;
/* Sanity check: the lock must be locked */
- if (acquire_lock(self->lock_lock, 0)) {
- release_lock(self->lock_lock);
+ if (PyThread_acquire_lock(self->lock_lock, 0)) {
+ PyThread_release_lock(self->lock_lock);
PyErr_SetString(ThreadError, "release unlocked lock");
return NULL;
}
- release_lock(self->lock_lock);
+ PyThread_release_lock(self->lock_lock);
Py_INCREF(Py_None);
return Py_None;
}
static char release_doc[] =
"release()\n\
-(release_lock() is an obsolete synonym)\n\
+(PyThread_release_lock() is an obsolete synonym)\n\
\n\
Release the lock, allowing another thread that is blocked waiting for\n\
the lock to acquire the lock. The lock must be in the locked state,\n\
@@ -155,8 +155,8 @@ lock_locked_lock(self, args)
if (!PyArg_NoArgs(args))
return NULL;
- if (acquire_lock(self->lock_lock, 0)) {
- release_lock(self->lock_lock);
+ if (PyThread_acquire_lock(self->lock_lock, 0)) {
+ PyThread_release_lock(self->lock_lock);
return PyInt_FromLong(0L);
}
return PyInt_FromLong(1L);
@@ -169,10 +169,10 @@ static char locked_doc[] =
Return whether the lock is in the locked state.";
static PyMethodDef lock_methods[] = {
- {"acquire_lock", (PyCFunction)lock_acquire_lock, 0, acquire_doc},
- {"acquire", (PyCFunction)lock_acquire_lock, 0, acquire_doc},
- {"release_lock", (PyCFunction)lock_release_lock, 0, release_doc},
- {"release", (PyCFunction)lock_release_lock, 0, release_doc},
+ {"acquire_lock", (PyCFunction)lock_PyThread_acquire_lock, 0, acquire_doc},
+ {"acquire", (PyCFunction)lock_PyThread_acquire_lock, 0, acquire_doc},
+ {"release_lock", (PyCFunction)lock_PyThread_release_lock, 0, release_doc},
+ {"release", (PyCFunction)lock_PyThread_release_lock, 0, release_doc},
{"locked_lock", (PyCFunction)lock_locked_lock, 0, locked_doc},
{"locked", (PyCFunction)lock_locked_lock, 0, locked_doc},
{NULL, NULL} /* sentinel */
@@ -240,18 +240,11 @@ t_bootstrap(boot_raw)
PyThreadState_Clear(tstate);
PyEval_ReleaseThread(tstate);
PyThreadState_Delete(tstate);
-#ifdef __BEOS__
- /* Dunno if this will cause problems with other ports; the BeOS thread
- * support features only 100% renamed functions. [cjh]
- */
PyThread_exit_thread();
-#else
- exit_thread();
-#endif
}
static PyObject *
-thread_start_new_thread(self, fargs)
+thread_PyThread_start_new_thread(self, fargs)
PyObject *self; /* Not used */
PyObject *fargs;
{
@@ -286,7 +279,7 @@ thread_start_new_thread(self, fargs)
Py_INCREF(args);
Py_XINCREF(keyw);
PyEval_InitThreads(); /* Start the interpreter's thread-awareness */
- if (!start_new_thread(t_bootstrap, (void*) boot)) {
+ if (!PyThread_start_new_thread(t_bootstrap, (void*) boot)) {
PyErr_SetString(ThreadError, "can't start new thread\n");
Py_DECREF(func);
Py_DECREF(args);
@@ -310,7 +303,7 @@ unhandled exception; a stack trace will be printed unless the exception is\n\
SystemExit.";
static PyObject *
-thread_exit_thread(self, args)
+thread_PyThread_exit_thread(self, args)
PyObject *self; /* Not used */
PyObject *args;
{
@@ -322,27 +315,27 @@ thread_exit_thread(self, args)
static char exit_doc[] =
"exit()\n\
-(exit_thread() is an obsolete synonym)\n\
+(PyThread_exit_thread() is an obsolete synonym)\n\
\n\
This is synonymous to ``raise SystemExit''. It will cause the current\n\
thread to exit silently unless the exception is caught.";
#ifndef NO_EXIT_PROG
static PyObject *
-thread_exit_prog(self, args)
+thread_PyThread_exit_prog(self, args)
PyObject *self; /* Not used */
PyObject *args;
{
int sts;
if (!PyArg_Parse(args, "i", &sts))
return NULL;
- Py_Exit(sts); /* Calls exit_prog(sts) or _exit_prog(sts) */
+ Py_Exit(sts); /* Calls PyThread_exit_prog(sts) or _PyThread_exit_prog(sts) */
for (;;) { } /* Should not be reached */
}
#endif
static PyObject *
-thread_allocate_lock(self, args)
+thread_PyThread_allocate_lock(self, args)
PyObject *self; /* Not used */
PyObject *args;
{
@@ -365,7 +358,7 @@ thread_get_ident(self, args)
long ident;
if (!PyArg_NoArgs(args))
return NULL;
- ident = get_thread_ident();
+ ident = PyThread_get_thread_ident();
if (ident == -1) {
PyErr_SetString(ThreadError, "no current thread ident");
return NULL;
@@ -385,22 +378,22 @@ be relied upon, and the number should be seen purely as a magic cookie.\n\
A thread's identity may be reused for another thread after it exits.";
static PyMethodDef thread_methods[] = {
- {"start_new_thread", (PyCFunction)thread_start_new_thread, 1,
+ {"start_new_thread", (PyCFunction)thread_PyThread_start_new_thread, 1,
start_new_doc},
- {"start_new", (PyCFunction)thread_start_new_thread, 1,
+ {"start_new", (PyCFunction)thread_PyThread_start_new_thread, 1,
start_new_doc},
- {"allocate_lock", (PyCFunction)thread_allocate_lock, 0,
+ {"allocate_lock", (PyCFunction)thread_PyThread_allocate_lock, 0,
allocate_doc},
- {"allocate", (PyCFunction)thread_allocate_lock, 0,
+ {"allocate", (PyCFunction)thread_PyThread_allocate_lock, 0,
allocate_doc},
- {"exit_thread", (PyCFunction)thread_exit_thread, 0,
+ {"exit_thread", (PyCFunction)thread_PyThread_exit_thread, 0,
exit_doc},
- {"exit", (PyCFunction)thread_exit_thread, 0,
+ {"exit", (PyCFunction)thread_PyThread_exit_thread, 0,
exit_doc},
{"get_ident", (PyCFunction)thread_get_ident, 0,
get_ident_doc},
#ifndef NO_EXIT_PROG
- {"exit_prog", (PyCFunction)thread_exit_prog},
+ {"exit_prog", (PyCFunction)thread_PyThread_exit_prog},
#endif
{NULL, NULL} /* sentinel */
};
@@ -414,7 +407,7 @@ The 'threading' module provides a more convenient interface.";
static char lock_doc[] =
"A lock object is a synchronization primitive. To create a lock,\n\
-call the allocate_lock() function. Methods are:\n\
+call the PyThread_allocate_lock() function. Methods are:\n\
\n\
acquire() -- lock the lock, possibly blocking until it can be obtained\n\
release() -- unlock of the lock\n\
@@ -441,5 +434,5 @@ initthread()
PyDict_SetItemString(d, "LockType", (PyObject *)&Locktype);
/* Initialize the C thread library */
- init_thread();
+ PyThread_init_thread();
}
diff --git a/Python/ceval.c b/Python/ceval.c
index b013ca1..f52eb0e 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -113,7 +113,7 @@ static long dxp[256];
extern int _PyThread_Started; /* Flag for Py_Exit */
-static type_lock interpreter_lock = 0;
+static PyThread_type_lock interpreter_lock = 0;
static long main_thread = 0;
void
@@ -122,21 +122,21 @@ PyEval_InitThreads()
if (interpreter_lock)
return;
_PyThread_Started = 1;
- interpreter_lock = allocate_lock();
- acquire_lock(interpreter_lock, 1);
- main_thread = get_thread_ident();
+ interpreter_lock = PyThread_allocate_lock();
+ PyThread_acquire_lock(interpreter_lock, 1);
+ main_thread = PyThread_get_thread_ident();
}
void
PyEval_AcquireLock()
{
- acquire_lock(interpreter_lock, 1);
+ PyThread_acquire_lock(interpreter_lock, 1);
}
void
PyEval_ReleaseLock()
{
- release_lock(interpreter_lock);
+ PyThread_release_lock(interpreter_lock);
}
void
@@ -145,7 +145,7 @@ PyEval_AcquireThread(tstate)
{
if (tstate == NULL)
Py_FatalError("PyEval_AcquireThread: NULL new thread state");
- acquire_lock(interpreter_lock, 1);
+ PyThread_acquire_lock(interpreter_lock, 1);
if (PyThreadState_Swap(tstate) != NULL)
Py_FatalError(
"PyEval_AcquireThread: non-NULL old thread state");
@@ -159,7 +159,7 @@ PyEval_ReleaseThread(tstate)
Py_FatalError("PyEval_ReleaseThread: NULL thread state");
if (PyThreadState_Swap(NULL) != tstate)
Py_FatalError("PyEval_ReleaseThread: wrong thread state");
- release_lock(interpreter_lock);
+ PyThread_release_lock(interpreter_lock);
}
#endif
@@ -175,7 +175,7 @@ PyEval_SaveThread()
Py_FatalError("PyEval_SaveThread: NULL tstate");
#ifdef WITH_THREAD
if (interpreter_lock)
- release_lock(interpreter_lock);
+ PyThread_release_lock(interpreter_lock);
#endif
return tstate;
}
@@ -189,7 +189,7 @@ PyEval_RestoreThread(tstate)
#ifdef WITH_THREAD
if (interpreter_lock) {
int err = errno;
- acquire_lock(interpreter_lock, 1);
+ PyThread_acquire_lock(interpreter_lock, 1);
errno = err;
}
#endif
@@ -269,7 +269,7 @@ Py_MakePendingCalls()
{
static int busy = 0;
#ifdef WITH_THREAD
- if (main_thread && get_thread_ident() != main_thread)
+ if (main_thread && PyThread_get_thread_ident() != main_thread)
return 0;
#endif
if (busy)
@@ -622,11 +622,11 @@ eval_code2(co, globals, locals,
if (PyThreadState_Swap(NULL) != tstate)
Py_FatalError("ceval: tstate mix-up");
- release_lock(interpreter_lock);
+ PyThread_release_lock(interpreter_lock);
/* Other threads may run now */
- acquire_lock(interpreter_lock, 1);
+ PyThread_acquire_lock(interpreter_lock, 1);
if (PyThreadState_Swap(tstate) != NULL)
Py_FatalError("ceval: orphan tstate");
}
diff --git a/Python/import.c b/Python/import.c
index 2707019..d35a8b7 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -121,25 +121,25 @@ _PyImport_Fini()
#include "pythread.h"
-static type_lock import_lock = 0;
+static PyThread_type_lock import_lock = 0;
static long import_lock_thread = -1;
static int import_lock_level = 0;
static void
lock_import()
{
- long me = get_thread_ident();
+ long me = PyThread_get_thread_ident();
if (me == -1)
return; /* Too bad */
if (import_lock == NULL)
- import_lock = allocate_lock();
+ import_lock = PyThread_allocate_lock();
if (import_lock_thread == me) {
import_lock_level++;
return;
}
- if (import_lock_thread != -1 || !acquire_lock(import_lock, 0)) {
+ if (import_lock_thread != -1 || !PyThread_acquire_lock(import_lock, 0)) {
PyThreadState *tstate = PyEval_SaveThread();
- acquire_lock(import_lock, 1);
+ PyThread_acquire_lock(import_lock, 1);
PyEval_RestoreThread(tstate);
}
import_lock_thread = me;
@@ -149,7 +149,7 @@ lock_import()
static void
unlock_import()
{
- long me = get_thread_ident();
+ long me = PyThread_get_thread_ident();
if (me == -1)
return; /* Too bad */
if (import_lock_thread != me)
@@ -157,7 +157,7 @@ unlock_import()
import_lock_level--;
if (import_lock_level == 0) {
import_lock_thread = -1;
- release_lock(import_lock);
+ PyThread_release_lock(import_lock);
}
}
diff --git a/Python/importdl.c b/Python/importdl.c
index dc97f67..dd0f154 100644
--- a/Python/importdl.c
+++ b/Python/importdl.c
@@ -196,7 +196,7 @@ typedef void (*dl_funcptr)(void);
#ifdef WITH_THREAD
#include "pythread.h"
-static type_lock beos_dyn_lock;
+static PyThread_type_lock beos_dyn_lock;
#endif
static PyObject *beos_dyn_images = NULL;
diff --git a/Python/thread.c b/Python/thread.c
index 2c20690..c533398 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -109,9 +109,9 @@ static int thread_debug = 0;
static int initialized;
-static void _init_thread(); /* Forward */
+static void PyThread__init_thread(); /* Forward */
-void init_thread _P0()
+void PyThread_init_thread _P0()
{
#ifdef Py_DEBUG
char *p = getenv("THREADDEBUG");
@@ -126,8 +126,8 @@ void init_thread _P0()
if (initialized)
return;
initialized = 1;
- dprintf(("init_thread called\n"));
- _init_thread();
+ dprintf(("PyThread_init_thread called\n"));
+ PyThread__init_thread();
}
#ifdef SGI_THREADS
diff --git a/Python/thread_beos.h b/Python/thread_beos.h
index f2024f3..0dff786 100644
--- a/Python/thread_beos.h
+++ b/Python/thread_beos.h
@@ -129,7 +129,7 @@ static status_t benaphore_unlock( benaphore_t *ben )
/* ----------------------------------------------------------------------
* Initialization.
*/
-static void _init_thread( void )
+static void PyThread__init_thread( void )
{
/* Do nothing. */
return;
@@ -151,7 +151,7 @@ int PyThread_start_new_thread( void (*func)(void *), void *arg )
char name[B_OS_NAME_LENGTH];
int32 this_thread;
- dprintf(("start_new_thread called\n"));
+ dprintf(("PyThread_start_new_thread called\n"));
/* We are so very thread-safe... */
this_thread = atomic_add( &thread_count, 1 );
@@ -175,11 +175,11 @@ long PyThread_get_thread_ident( void )
return ( tid != B_NAME_NOT_FOUND ? tid : -1 );
}
-static void do_exit_thread( int no_cleanup )
+static void do_PyThread_exit_thread( int no_cleanup )
{
int32 threads;
- dprintf(("exit_thread called\n"));
+ dprintf(("PyThread_exit_thread called\n"));
/* Thread-safe way to read a variable without a mutex: */
threads = atomic_add( &thread_count, 0 );
@@ -199,18 +199,18 @@ static void do_exit_thread( int no_cleanup )
void PyThread_exit_thread( void )
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
void PyThread__exit_thread( void )
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog( int status, int no_cleanup )
+static void do_PyThread_exit_prog( int status, int no_cleanup )
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
/* No need to do anything, the threads get torn down if main() exits. */
@@ -223,12 +223,12 @@ static void do_exit_prog( int status, int no_cleanup )
void PyThread_exit_prog( int status )
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
void PyThread__exit_prog( int status )
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
@@ -238,19 +238,19 @@ void PyThread__exit_prog( int status )
static int32 lock_count = 0;
-type_lock PyThread_allocate_lock( void )
+PyThread_type_lock PyThread_allocate_lock( void )
{
benaphore_t *lock;
status_t retval;
char name[B_OS_NAME_LENGTH];
int32 this_lock;
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
lock = (benaphore_t *)malloc( sizeof( benaphore_t ) );
if( lock == NULL ) {
/* TODO: that's bad, raise MemoryError */
- return (type_lock)NULL;
+ return (PyThread_type_lock)NULL;
}
this_lock = atomic_add( &lock_count, 1 );
@@ -259,18 +259,18 @@ type_lock PyThread_allocate_lock( void )
retval = benaphore_create( name, lock );
if( retval != EOK ) {
/* TODO: that's bad, raise an exception */
- return (type_lock)NULL;
+ return (PyThread_type_lock)NULL;
}
- dprintf(("allocate_lock() -> %lx\n", (long)lock));
- return (type_lock) lock;
+ dprintf(("PyThread_allocate_lock() -> %lx\n", (long)lock));
+ return (PyThread_type_lock) lock;
}
-void PyThread_free_lock( type_lock lock )
+void PyThread_free_lock( PyThread_type_lock lock )
{
status_t retval;
- dprintf(("free_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_free_lock(%lx) called\n", (long)lock));
retval = benaphore_destroy( (benaphore_t *)lock );
if( retval != EOK ) {
@@ -279,12 +279,12 @@ void PyThread_free_lock( type_lock lock )
}
}
-int PyThread_acquire_lock( type_lock lock, int waitflag )
+int PyThread_acquire_lock( PyThread_type_lock lock, int waitflag )
{
int success;
status_t retval;
- dprintf(("acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
+ dprintf(("PyThread_acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
if( waitflag ) {
retval = benaphore_lock( (benaphore_t *)lock );
@@ -300,15 +300,15 @@ int PyThread_acquire_lock( type_lock lock, int waitflag )
/* TODO: that's bad, raise an exception */
}
- dprintf(("acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
return success;
}
-void PyThread_release_lock( type_lock lock )
+void PyThread_release_lock( PyThread_type_lock lock )
{
status_t retval;
- dprintf(("release_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_release_lock(%lx) called\n", (long)lock));
retval = benaphore_unlock( (benaphore_t *)lock );
if( retval != EOK ) {
@@ -324,11 +324,11 @@ void PyThread_release_lock( type_lock lock )
* I'll do it anyway, you never know when it might be handy, and it's
* easy...
*/
-type_sema PyThread_allocate_sema( int value )
+PyThread_type_sema PyThread_allocate_sema( int value )
{
sem_id sema;
- dprintf(("allocate_sema called\n"));
+ dprintf(("PyThread_allocate_sema called\n"));
sema = create_sem( value, "python semaphore" );
if( sema < B_NO_ERROR ) {
@@ -336,15 +336,15 @@ type_sema PyThread_allocate_sema( int value )
return 0;
}
- dprintf(("allocate_sema() -> %lx\n", (long) sema));
- return (type_sema) sema;
+ dprintf(("PyThread_allocate_sema() -> %lx\n", (long) sema));
+ return (PyThread_type_sema) sema;
}
-void PyThread_free_sema( type_sema sema )
+void PyThread_free_sema( PyThread_type_sema sema )
{
status_t retval;
- dprintf(("free_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_free_sema(%lx) called\n", (long) sema));
retval = delete_sem( (sem_id)sema );
if( retval != B_NO_ERROR ) {
@@ -353,11 +353,11 @@ void PyThread_free_sema( type_sema sema )
}
}
-int PyThread_down_sema( type_sema sema, int waitflag )
+int PyThread_down_sema( PyThread_type_sema sema, int waitflag )
{
status_t retval;
- dprintf(("down_sema(%lx, %d) called\n", (long) sema, waitflag));
+ dprintf(("PyThread_down_sema(%lx, %d) called\n", (long) sema, waitflag));
if( waitflag ) {
retval = acquire_sem( (sem_id)sema );
@@ -370,15 +370,15 @@ int PyThread_down_sema( type_sema sema, int waitflag )
return 0;
}
- dprintf(("down_sema(%lx) return\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx) return\n", (long) sema));
return -1;
}
-void PyThread_up_sema( type_sema sema )
+void PyThread_up_sema( PyThread_type_sema sema )
{
status_t retval;
- dprintf(("up_sema(%lx)\n", (long) sema));
+ dprintf(("PyThread_up_sema(%lx)\n", (long) sema));
retval = release_sem( (sem_id)sema );
if( retval != B_NO_ERROR ) {
diff --git a/Python/thread_cthread.h b/Python/thread_cthread.h
index 3f48d59..11370c5 100644
--- a/Python/thread_cthread.h
+++ b/Python/thread_cthread.h
@@ -35,7 +35,7 @@ PERFORMANCE OF THIS SOFTWARE.
/*
* Initialization.
*/
-static void _init_thread _P0()
+static void PyThread__init_thread _P0()
{
cthread_init();
}
@@ -43,14 +43,14 @@ static void _init_thread _P0()
/*
* Thread support.
*/
-int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
{
int success = 0; /* init not needed when SOLARIS_THREADS and */
/* C_THREADS implemented properly */
- dprintf(("start_new_thread called\n"));
+ dprintf(("PyThread_start_new_thread called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
/* looks like solaris detaches the thread to never rejoin
* so well do it here
*/
@@ -58,16 +58,16 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
return success < 0 ? 0 : 1;
}
-long get_thread_ident _P0()
+long PyThread_get_thread_ident _P0()
{
if (!initialized)
- init_thread();
+ PyThread_init_thread();
return (long) cthread_self();
}
-static void do_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
{
- dprintf(("exit_thread called\n"));
+ dprintf(("PyThread_exit_thread called\n"));
if (!initialized)
if (no_cleanup)
_exit(0);
@@ -76,20 +76,20 @@ static void do_exit_thread _P1(no_cleanup, int no_cleanup)
cthread_exit(0);
}
-void exit_thread _P0()
+void PyThread_exit_thread _P0()
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread _P0()
+void PyThread__exit_thread _P0()
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -101,27 +101,27 @@ static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
exit(status);
}
-void exit_prog _P1(status, int status)
+void PyThread_exit_prog _P1(status, int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(status, int status)
+void PyThread__exit_prog _P1(status, int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
/*
* Lock support.
*/
-type_lock allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock _P0()
{
mutex_t lock;
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
lock = mutex_alloc();
if (mutex_init(lock)) {
@@ -129,34 +129,34 @@ type_lock allocate_lock _P0()
free((void *) lock);
lock = 0;
}
- dprintf(("allocate_lock() -> %lx\n", (long)lock));
- return (type_lock) lock;
+ dprintf(("PyThread_allocate_lock() -> %lx\n", (long)lock));
+ return (PyThread_type_lock) lock;
}
-void free_lock _P1(lock, type_lock lock)
+void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("free_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_free_lock(%lx) called\n", (long)lock));
mutex_free(lock);
}
-int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
{
int success = FALSE;
- dprintf(("acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
+ dprintf(("PyThread_acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
if (waitflag) { /* blocking */
mutex_lock(lock);
success = TRUE;
} else { /* non blocking */
success = mutex_try_lock(lock);
}
- dprintf(("acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
return success;
}
-void release_lock _P1(lock, type_lock lock)
+void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("release_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_release_lock(%lx) called\n", (long)lock));
mutex_unlock((mutex_t )lock);
}
@@ -174,30 +174,30 @@ void release_lock _P1(lock, type_lock lock)
* semaphore using a condition.
*
*/
-type_sema allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
{
char *sema = 0;
- dprintf(("allocate_sema called\n"));
+ dprintf(("PyThread_allocate_sema called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
- dprintf(("allocate_sema() -> %lx\n", (long) sema));
- return (type_sema) sema;
+ dprintf(("PyThread_allocate_sema() -> %lx\n", (long) sema));
+ return (PyThread_type_sema) sema;
}
-void free_sema _P1(sema, type_sema sema)
+void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("free_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_free_sema(%lx) called\n", (long) sema));
}
-int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
{
- dprintf(("down_sema(%lx, %d) called\n", (long) sema, waitflag));
- dprintf(("down_sema(%lx) return\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx, %d) called\n", (long) sema, waitflag));
+ dprintf(("PyThread_down_sema(%lx) return\n", (long) sema));
return -1;
}
-void up_sema _P1(sema, type_sema sema)
+void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("up_sema(%lx)\n", (long) sema));
+ dprintf(("PyThread_up_sema(%lx)\n", (long) sema));
}
diff --git a/Python/thread_foobar.h b/Python/thread_foobar.h
index 754eb26..e2c75e3 100644
--- a/Python/thread_foobar.h
+++ b/Python/thread_foobar.h
@@ -32,33 +32,33 @@ PERFORMANCE OF THIS SOFTWARE.
/*
* Initialization.
*/
-static void _init_thread _P0()
+static void PyThread__init_thread _P0()
{
}
/*
* Thread support.
*/
-int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
{
int success = 0; /* init not needed when SOLARIS_THREADS and */
/* C_THREADS implemented properly */
- dprintf(("start_new_thread called\n"));
+ dprintf(("PyThread_start_new_thread called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
return success < 0 ? 0 : 1;
}
-long get_thread_ident _P0()
+long PyThread_get_thread_ident _P0()
{
if (!initialized)
- init_thread();
+ PyThread_init_thread();
}
-static void do_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
{
- dprintf(("exit_thread called\n"));
+ dprintf(("PyThread_exit_thread called\n"));
if (!initialized)
if (no_cleanup)
_exit(0);
@@ -66,20 +66,20 @@ static void do_exit_thread _P1(no_cleanup, int no_cleanup)
exit(0);
}
-void exit_thread _P0()
+void PyThread_exit_thread _P0()
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread _P0()
+void PyThread__exit_thread _P0()
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -87,76 +87,76 @@ static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
exit(status);
}
-void exit_prog _P1(status, int status)
+void PyThread_exit_prog _P1(status, int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(status, int status)
+void PyThread__exit_prog _P1(status, int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
/*
* Lock support.
*/
-type_lock allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock _P0()
{
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
- dprintf(("allocate_lock() -> %lx\n", (long)lock));
- return (type_lock) lock;
+ dprintf(("PyThread_allocate_lock() -> %lx\n", (long)lock));
+ return (PyThread_type_lock) lock;
}
-void free_lock _P1(lock, type_lock lock)
+void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("free_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_free_lock(%lx) called\n", (long)lock));
}
-int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
{
int success;
- dprintf(("acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
- dprintf(("acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
+ dprintf(("PyThread_acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
return success;
}
-void release_lock _P1(lock, type_lock lock)
+void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("release_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_release_lock(%lx) called\n", (long)lock));
}
/*
* Semaphore support.
*/
-type_sema allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
{
- dprintf(("allocate_sema called\n"));
+ dprintf(("PyThread_allocate_sema called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
- dprintf(("allocate_sema() -> %lx\n", (long) sema));
- return (type_sema) sema;
+ dprintf(("PyThread_allocate_sema() -> %lx\n", (long) sema));
+ return (PyThread_type_sema) sema;
}
-void free_sema _P1(sema, type_sema sema)
+void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("free_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_free_sema(%lx) called\n", (long) sema));
}
-int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
{
- dprintf(("down_sema(%lx, %d) called\n", (long) sema, waitflag));
- dprintf(("down_sema(%lx) return\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx, %d) called\n", (long) sema, waitflag));
+ dprintf(("PyThread_down_sema(%lx) return\n", (long) sema));
return -1;
}
-void up_sema _P1(sema, type_sema sema)
+void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("up_sema(%lx)\n", (long) sema));
+ dprintf(("PyThread_up_sema(%lx)\n", (long) sema));
}
diff --git a/Python/thread_lwp.h b/Python/thread_lwp.h
index 1f2f476..5ad4df4 100644
--- a/Python/thread_lwp.h
+++ b/Python/thread_lwp.h
@@ -46,7 +46,7 @@ struct lock {
/*
* Initialization.
*/
-static void _init_thread _P0()
+static void PyThread__init_thread _P0()
{
lwp_setstkcache(STACKSIZE, NSTACKS);
}
@@ -56,30 +56,30 @@ static void _init_thread _P0()
*/
-int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
{
thread_t tid;
int success;
- dprintf(("start_new_thread called\n"));
+ dprintf(("PyThread_start_new_thread called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
success = lwp_create(&tid, func, MINPRIO, 0, lwp_newstk(), 1, arg);
return success < 0 ? 0 : 1;
}
-long get_thread_ident _P0()
+long PyThread_get_thread_ident _P0()
{
thread_t tid;
if (!initialized)
- init_thread();
+ PyThread_init_thread();
if (lwp_self(&tid) < 0)
return -1;
return tid.thread_id;
}
-static void do_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
{
- dprintf(("exit_thread called\n"));
+ dprintf(("PyThread_exit_thread called\n"));
if (!initialized)
if (no_cleanup)
_exit(0);
@@ -88,20 +88,20 @@ static void do_exit_thread _P1(no_cleanup, int no_cleanup)
lwp_destroy(SELF);
}
-void exit_thread _P0()
+void PyThread_exit_thread _P0()
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread _P0()
+void PyThread__exit_thread _P0()
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -110,49 +110,49 @@ static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
pod_exit(status);
}
-void exit_prog _P1(status, int status)
+void PyThread_exit_prog _P1(status, int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(status, int status)
+void PyThread__exit_prog _P1(status, int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
/*
* Lock support.
*/
-type_lock allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock _P0()
{
struct lock *lock;
extern char *malloc();
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
lock = (struct lock *) malloc(sizeof(struct lock));
lock->lock_locked = 0;
(void) mon_create(&lock->lock_monitor);
(void) cv_create(&lock->lock_condvar, lock->lock_monitor);
- dprintf(("allocate_lock() -> %lx\n", (long)lock));
- return (type_lock) lock;
+ dprintf(("PyThread_allocate_lock() -> %lx\n", (long)lock));
+ return (PyThread_type_lock) lock;
}
-void free_lock _P1(lock, type_lock lock)
+void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("free_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_free_lock(%lx) called\n", (long)lock));
mon_destroy(((struct lock *) lock)->lock_monitor);
free((char *) lock);
}
-int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
{
int success;
- dprintf(("acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
+ dprintf(("PyThread_acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
success = 0;
(void) mon_enter(((struct lock *) lock)->lock_monitor);
@@ -165,13 +165,13 @@ int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
}
cv_broadcast(((struct lock *) lock)->lock_condvar);
mon_exit(((struct lock *) lock)->lock_monitor);
- dprintf(("acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
return success;
}
-void release_lock _P1(lock, type_lock lock)
+void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("release_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_release_lock(%lx) called\n", (long)lock));
(void) mon_enter(((struct lock *) lock)->lock_monitor);
((struct lock *) lock)->lock_locked = 0;
cv_broadcast(((struct lock *) lock)->lock_condvar);
@@ -181,30 +181,30 @@ void release_lock _P1(lock, type_lock lock)
/*
* Semaphore support.
*/
-type_sema allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
{
- type_sema sema = 0;
- dprintf(("allocate_sema called\n"));
+ PyThread_type_sema sema = 0;
+ dprintf(("PyThread_allocate_sema called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
- dprintf(("allocate_sema() -> %lx\n", (long) sema));
- return (type_sema) sema;
+ dprintf(("PyThread_allocate_sema() -> %lx\n", (long) sema));
+ return (PyThread_type_sema) sema;
}
-void free_sema _P1(sema, type_sema sema)
+void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("free_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_free_sema(%lx) called\n", (long) sema));
}
-int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
{
- dprintf(("down_sema(%lx, %d) called\n", (long) sema, waitflag));
- dprintf(("down_sema(%lx) return\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx, %d) called\n", (long) sema, waitflag));
+ dprintf(("PyThread_down_sema(%lx) return\n", (long) sema));
return -1;
}
-void up_sema _P1(sema, type_sema sema)
+void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("up_sema(%lx)\n", (long) sema));
+ dprintf(("PyThread_up_sema(%lx)\n", (long) sema));
}
diff --git a/Python/thread_nt.h b/Python/thread_nt.h
index 194298d..0044551 100644
--- a/Python/thread_nt.h
+++ b/Python/thread_nt.h
@@ -35,7 +35,7 @@ PERFORMANCE OF THIS SOFTWARE.
#include <limits.h>
#include <process.h>
-long get_thread_ident(void);
+long PyThread_get_thread_ident(void);
/*
* Change all headers to pure ANSI as no one will use K&R style on an
@@ -45,27 +45,27 @@ long get_thread_ident(void);
/*
* Initialization of the C package, should not be needed.
*/
-static void _init_thread(void)
+static void PyThread__init_thread(void)
{
}
/*
* Thread support.
*/
-int start_new_thread(void (*func)(void *), void *arg)
+int PyThread_start_new_thread(void (*func)(void *), void *arg)
{
long rv;
int success = 0;
- dprintf(("%ld: start_new_thread called\n", get_thread_ident()));
+ dprintf(("%ld: PyThread_start_new_thread called\n", PyThread_get_thread_ident()));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
rv = _beginthread(func, 0, arg); /* use default stack size */
if (rv != -1) {
success = 1;
- dprintf(("%ld: start_new_thread succeeded: %ld\n", get_thread_ident(), aThreadId));
+ dprintf(("%ld: PyThread_start_new_thread succeeded: %ld\n", PyThread_get_thread_ident(), aThreadId));
}
return success;
@@ -75,17 +75,17 @@ int start_new_thread(void (*func)(void *), void *arg)
* Return the thread Id instead of an handle. The Id is said to uniquely identify the
* thread in the system
*/
-long get_thread_ident(void)
+long PyThread_get_thread_ident(void)
{
if (!initialized)
- init_thread();
+ PyThread_init_thread();
return GetCurrentThreadId();
}
-static void do_exit_thread(int no_cleanup)
+static void do_PyThread_exit_thread(int no_cleanup)
{
- dprintf(("%ld: exit_thread called\n", get_thread_ident()));
+ dprintf(("%ld: PyThread_exit_thread called\n", PyThread_get_thread_ident()));
if (!initialized)
if (no_cleanup)
_exit(0);
@@ -94,20 +94,20 @@ static void do_exit_thread(int no_cleanup)
_endthread();
}
-void exit_thread(void)
+void PyThread_exit_thread(void)
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread(void)
+void PyThread__exit_thread(void)
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog(int status, int no_cleanup)
+static void do_PyThread_exit_prog(int status, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -115,14 +115,14 @@ static void do_exit_prog(int status, int no_cleanup)
exit(status);
}
-void exit_prog(int status)
+void PyThread_exit_prog(int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(int status)
+void PyThread__exit_prog _P1(int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
@@ -131,13 +131,13 @@ void _exit_prog _P1(int status)
* I [Dag] tried to implement it with mutex but I could find a way to
* tell whether a thread already own the lock or not.
*/
-type_lock allocate_lock(void)
+PyThread_type_lock PyThread_allocate_lock(void)
{
HANDLE aLock;
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
aLock = CreateSemaphore(NULL, /* Security attributes */
1, /* Initial value */
@@ -145,14 +145,14 @@ type_lock allocate_lock(void)
NULL);
/* Name of semaphore */
- dprintf(("%ld: allocate_lock() -> %lx\n", get_thread_ident(), (long)aLock));
+ dprintf(("%ld: PyThread_allocate_lock() -> %lx\n", PyThread_get_thread_ident(), (long)aLock));
- return (type_lock) aLock;
+ return (PyThread_type_lock) aLock;
}
-void free_lock(type_lock aLock)
+void PyThread_free_lock(PyThread_type_lock aLock)
{
- dprintf(("%ld: free_lock(%lx) called\n", get_thread_ident(),(long)aLock));
+ dprintf(("%ld: PyThread_free_lock(%lx) called\n", PyThread_get_thread_ident(),(long)aLock));
CloseHandle((HANDLE) aLock);
}
@@ -163,12 +163,12 @@ void free_lock(type_lock aLock)
* and 0 if the lock was not acquired. This means a 0 is returned
* if the lock has already been acquired by this thread!
*/
-int acquire_lock(type_lock aLock, int waitflag)
+int PyThread_acquire_lock(PyThread_type_lock aLock, int waitflag)
{
int success = 1;
DWORD waitResult;
- dprintf(("%ld: acquire_lock(%lx, %d) called\n", get_thread_ident(),(long)aLock, waitflag));
+ dprintf(("%ld: PyThread_acquire_lock(%lx, %d) called\n", PyThread_get_thread_ident(),(long)aLock, waitflag));
waitResult = WaitForSingleObject((HANDLE) aLock, (waitflag == 1 ? INFINITE : 0));
@@ -176,48 +176,48 @@ int acquire_lock(type_lock aLock, int waitflag)
success = 0; /* We failed */
}
- dprintf(("%ld: acquire_lock(%lx, %d) -> %d\n", get_thread_ident(),(long)aLock, waitflag, success));
+ dprintf(("%ld: PyThread_acquire_lock(%lx, %d) -> %d\n", PyThread_get_thread_ident(),(long)aLock, waitflag, success));
return success;
}
-void release_lock(type_lock aLock)
+void PyThread_release_lock(PyThread_type_lock aLock)
{
- dprintf(("%ld: release_lock(%lx) called\n", get_thread_ident(),(long)aLock));
+ dprintf(("%ld: PyThread_release_lock(%lx) called\n", PyThread_get_thread_ident(),(long)aLock));
if (!ReleaseSemaphore(
(HANDLE) aLock, /* Handle of semaphore */
1, /* increment count by one */
NULL)) /* not interested in previous count */
{
- dprintf(("%ld: Could not release_lock(%lx) error: %l\n", get_thread_ident(), (long)aLock, GetLastError()));
+ dprintf(("%ld: Could not PyThread_release_lock(%lx) error: %l\n", PyThread_get_thread_ident(), (long)aLock, GetLastError()));
}
}
/*
* Semaphore support.
*/
-type_sema allocate_sema(int value)
+PyThread_type_sema PyThread_allocate_sema(int value)
{
HANDLE aSemaphore;
- dprintf(("%ld: allocate_sema called\n", get_thread_ident()));
+ dprintf(("%ld: PyThread_allocate_sema called\n", PyThread_get_thread_ident()));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
aSemaphore = CreateSemaphore( NULL, /* Security attributes */
value, /* Initial value */
INT_MAX, /* Maximum value */
NULL); /* Name of semaphore */
- dprintf(("%ld: allocate_sema() -> %lx\n", get_thread_ident(), (long)aSemaphore));
+ dprintf(("%ld: PyThread_allocate_sema() -> %lx\n", PyThread_get_thread_ident(), (long)aSemaphore));
- return (type_sema) aSemaphore;
+ return (PyThread_type_sema) aSemaphore;
}
-void free_sema(type_sema aSemaphore)
+void PyThread_free_sema(PyThread_type_sema aSemaphore)
{
- dprintf(("%ld: free_sema(%lx) called\n", get_thread_ident(), (long)aSemaphore));
+ dprintf(("%ld: PyThread_free_sema(%lx) called\n", PyThread_get_thread_ident(), (long)aSemaphore));
CloseHandle((HANDLE) aSemaphore);
}
@@ -225,24 +225,24 @@ void free_sema(type_sema aSemaphore)
/*
XXX must do something about waitflag
*/
-int down_sema(type_sema aSemaphore, int waitflag)
+int PyThread_down_sema(PyThread_type_sema aSemaphore, int waitflag)
{
DWORD waitResult;
- dprintf(("%ld: down_sema(%lx) called\n", get_thread_ident(), (long)aSemaphore));
+ dprintf(("%ld: PyThread_down_sema(%lx) called\n", PyThread_get_thread_ident(), (long)aSemaphore));
waitResult = WaitForSingleObject( (HANDLE) aSemaphore, INFINITE);
- dprintf(("%ld: down_sema(%lx) return: %l\n", get_thread_ident(),(long) aSemaphore, waitResult));
+ dprintf(("%ld: PyThread_down_sema(%lx) return: %l\n", PyThread_get_thread_ident(),(long) aSemaphore, waitResult));
return 0;
}
-void up_sema(type_sema aSemaphore)
+void PyThread_up_sema(PyThread_type_sema aSemaphore)
{
ReleaseSemaphore(
(HANDLE) aSemaphore, /* Handle of semaphore */
1, /* increment count by one */
NULL); /* not interested in previous count */
- dprintf(("%ld: up_sema(%lx)\n", get_thread_ident(), (long)aSemaphore));
+ dprintf(("%ld: PyThread_up_sema(%lx)\n", PyThread_get_thread_ident(), (long)aSemaphore));
}
diff --git a/Python/thread_os2.h b/Python/thread_os2.h
index d52b236..982fb6f 100644
--- a/Python/thread_os2.h
+++ b/Python/thread_os2.h
@@ -38,20 +38,20 @@ PERFORMANCE OF THIS SOFTWARE.
#include "process.h"
-long get_thread_ident(void);
+long PyThread_get_thread_ident(void);
/*
* Initialization of the C package, should not be needed.
*/
-static void _init_thread(void)
+static void PyThread__init_thread(void)
{
}
/*
* Thread support.
*/
-int start_new_thread(void (*func)(void *), void *arg)
+int PyThread_start_new_thread(void (*func)(void *), void *arg)
{
int aThread;
int success = 1;
@@ -67,21 +67,21 @@ int start_new_thread(void (*func)(void *), void *arg)
return success;
}
-long get_thread_ident(void)
+long PyThread_get_thread_ident(void)
{
PPIB pib;
PTIB tib;
if (!initialized)
- init_thread();
+ PyThread_init_thread();
DosGetInfoBlocks(&tib,&pib);
return tib->tib_ptib2->tib2_ultid;
}
-static void do_exit_thread(int no_cleanup)
+static void do_PyThread_exit_thread(int no_cleanup)
{
- dprintf(("%ld: exit_thread called\n", get_thread_ident()));
+ dprintf(("%ld: PyThread_exit_thread called\n", PyThread_get_thread_ident()));
if (!initialized)
if (no_cleanup)
_exit(0);
@@ -90,20 +90,20 @@ static void do_exit_thread(int no_cleanup)
_endthread();
}
-void exit_thread(void)
+void PyThread_exit_thread(void)
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread(void)
+void PyThread__exit_thread(void)
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog(int status, int no_cleanup)
+static void do_PyThread_exit_prog(int status, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -111,14 +111,14 @@ static void do_exit_prog(int status, int no_cleanup)
exit(status);
}
-void exit_prog(int status)
+void PyThread_exit_prog(int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(int status)
+void PyThread__exit_prog _P1(int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
@@ -127,28 +127,28 @@ void _exit_prog _P1(int status)
* I [Dag] tried to implement it with mutex but I could find a way to
* tell whether a thread already own the lock or not.
*/
-type_lock allocate_lock(void)
+PyThread_type_lock PyThread_allocate_lock(void)
{
HMTX aLock;
APIRET rc;
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
DosCreateMutexSem(NULL, /* Sem name */
&aLock, /* the semaphone */
0, /* shared ? */
0); /* initial state */
- dprintf(("%ld: allocate_lock() -> %lx\n", get_thread_ident(), (long)aLock));
+ dprintf(("%ld: PyThread_allocate_lock() -> %lx\n", PyThread_get_thread_ident(), (long)aLock));
- return (type_lock) aLock;
+ return (PyThread_type_lock) aLock;
}
-void free_lock(type_lock aLock)
+void PyThread_free_lock(PyThread_type_lock aLock)
{
- dprintf(("%ld: free_lock(%lx) called\n", get_thread_ident(),(long)aLock));
+ dprintf(("%ld: PyThread_free_lock(%lx) called\n", PyThread_get_thread_ident(),(long)aLock));
DosCloseMutexSem((HMTX)aLock);
}
@@ -159,18 +159,18 @@ void free_lock(type_lock aLock)
* and 0 if the lock was not acquired. This means a 0 is returned
* if the lock has already been acquired by this thread!
*/
-int acquire_lock(type_lock aLock, int waitflag)
+int PyThread_acquire_lock(PyThread_type_lock aLock, int waitflag)
{
int success = 1;
ULONG rc, count;
PID pid = 0;
TID tid = 0;
- dprintf(("%ld: acquire_lock(%lx, %d) called\n", get_thread_ident(),
+ dprintf(("%ld: PyThread_acquire_lock(%lx, %d) called\n", PyThread_get_thread_ident(),
(long)aLock, waitflag));
DosQueryMutexSem((HMTX)aLock,&pid,&tid,&count);
- if( tid == get_thread_ident() ) { /* if we own this lock */
+ if( tid == PyThread_get_thread_ident() ) { /* if we own this lock */
success = 0;
} else {
rc = DosRequestMutexSem((HMTX) aLock,
@@ -181,41 +181,41 @@ int acquire_lock(type_lock aLock, int waitflag)
}
}
- dprintf(("%ld: acquire_lock(%lx, %d) -> %d\n",
- get_thread_ident(),(long)aLock, waitflag, success));
+ dprintf(("%ld: PyThread_acquire_lock(%lx, %d) -> %d\n",
+ PyThread_get_thread_ident(),(long)aLock, waitflag, success));
return success;
}
-void release_lock(type_lock aLock)
+void PyThread_release_lock(PyThread_type_lock aLock)
{
- dprintf(("%ld: release_lock(%lx) called\n", get_thread_ident(),(long)aLock));
+ dprintf(("%ld: PyThread_release_lock(%lx) called\n", PyThread_get_thread_ident(),(long)aLock));
if ( DosReleaseMutexSem( (HMTX) aLock ) != 0 ) {
- dprintf(("%ld: Could not release_lock(%lx) error: %l\n",
- get_thread_ident(), (long)aLock, GetLastError()));
+ dprintf(("%ld: Could not PyThread_release_lock(%lx) error: %l\n",
+ PyThread_get_thread_ident(), (long)aLock, GetLastError()));
}
}
/*
* Semaphore support.
*/
-type_sema allocate_sema(int value)
+PyThread_type_sema PyThread_allocate_sema(int value)
{
- return (type_sema) 0;
+ return (PyThread_type_sema) 0;
}
-void free_sema(type_sema aSemaphore)
+void PyThread_free_sema(PyThread_type_sema aSemaphore)
{
}
-int down_sema(type_sema aSemaphore, int waitflag)
+int PyThread_down_sema(PyThread_type_sema aSemaphore, int waitflag)
{
return -1;
}
-void up_sema(type_sema aSemaphore)
+void PyThread_up_sema(PyThread_type_sema aSemaphore)
{
- dprintf(("%ld: up_sema(%lx)\n", get_thread_ident(), (long)aSemaphore));
+ dprintf(("%ld: PyThread_up_sema(%lx)\n", PyThread_get_thread_ident(), (long)aSemaphore));
}
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index 71ae66d..0b4041a 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -125,7 +125,7 @@ static void _noop()
{
}
-static void _init_thread _P0()
+static void PyThread__init_thread _P0()
{
/* DO AN INIT BY STARTING THE THREAD */
static int dummy = 0;
@@ -136,7 +136,7 @@ static void _init_thread _P0()
#else /* !_HAVE_BSDI */
-static void _init_thread _P0()
+static void PyThread__init_thread _P0()
{
#if defined(_AIX) && defined(__GNUC__)
pthread_init();
@@ -150,13 +150,13 @@ static void _init_thread _P0()
*/
-int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
{
pthread_t th;
int success;
- dprintf(("start_new_thread called\n"));
+ dprintf(("PyThread_start_new_thread called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
success = pthread_create(&th,
#if defined(PY_PTHREAD_D4)
@@ -188,19 +188,19 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
return success < 0 ? 0 : 1;
}
-long get_thread_ident _P0()
+long PyThread_get_thread_ident _P0()
{
volatile pthread_t threadid;
if (!initialized)
- init_thread();
+ PyThread_init_thread();
/* Jump through some hoops for Alpha OSF/1 */
threadid = pthread_self();
return (long) *(long *) &threadid;
}
-static void do_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
{
- dprintf(("exit_thread called\n"));
+ dprintf(("PyThread_exit_thread called\n"));
if (!initialized) {
if (no_cleanup)
_exit(0);
@@ -209,20 +209,20 @@ static void do_exit_thread _P1(no_cleanup, int no_cleanup)
}
}
-void exit_thread _P0()
+void PyThread_exit_thread _P0()
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread _P0()
+void PyThread__exit_thread _P0()
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -230,28 +230,28 @@ static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
exit(status);
}
-void exit_prog _P1(status, int status)
+void PyThread_exit_prog _P1(status, int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(status, int status)
+void PyThread__exit_prog _P1(status, int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
/*
* Lock support.
*/
-type_lock allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock _P0()
{
pthread_lock *lock;
int status, error = 0;
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
lock = (pthread_lock *) malloc(sizeof(pthread_lock));
memset((void *)lock, '\0', sizeof(pthread_lock));
@@ -272,16 +272,16 @@ type_lock allocate_lock _P0()
}
}
- dprintf(("allocate_lock() -> %lx\n", (long)lock));
- return (type_lock) lock;
+ dprintf(("PyThread_allocate_lock() -> %lx\n", (long)lock));
+ return (PyThread_type_lock) lock;
}
-void free_lock _P1(lock, type_lock lock)
+void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
{
pthread_lock *thelock = (pthread_lock *)lock;
int status, error = 0;
- dprintf(("free_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_free_lock(%lx) called\n", (long)lock));
status = pthread_mutex_destroy( &thelock->mut );
CHECK_STATUS("pthread_mutex_destroy");
@@ -292,13 +292,13 @@ void free_lock _P1(lock, type_lock lock)
free((void *)thelock);
}
-int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
{
int success;
pthread_lock *thelock = (pthread_lock *)lock;
int status, error = 0;
- dprintf(("acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
+ dprintf(("PyThread_acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
status = pthread_mutex_lock( &thelock->mut );
CHECK_STATUS("pthread_mutex_lock[1]");
@@ -325,16 +325,16 @@ int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
success = 1;
}
if (error) success = 0;
- dprintf(("acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
return success;
}
-void release_lock _P1(lock, type_lock lock)
+void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
{
pthread_lock *thelock = (pthread_lock *)lock;
int status, error = 0;
- dprintf(("release_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_release_lock(%lx) called\n", (long)lock));
status = pthread_mutex_lock( &thelock->mut );
CHECK_STATUS("pthread_mutex_lock[3]");
@@ -359,14 +359,14 @@ struct semaphore {
int value;
};
-type_sema allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
{
struct semaphore *sema;
int status, error = 0;
- dprintf(("allocate_sema called\n"));
+ dprintf(("PyThread_allocate_sema called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
sema = (struct semaphore *) malloc(sizeof(struct semaphore));
if (sema != NULL) {
@@ -382,16 +382,16 @@ type_sema allocate_sema _P1(value, int value)
sema = NULL;
}
}
- dprintf(("allocate_sema() -> %lx\n", (long) sema));
- return (type_sema) sema;
+ dprintf(("PyThread_allocate_sema() -> %lx\n", (long) sema));
+ return (PyThread_type_sema) sema;
}
-void free_sema _P1(sema, type_sema sema)
+void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
{
int status, error = 0;
struct semaphore *thesema = (struct semaphore *) sema;
- dprintf(("free_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_free_sema(%lx) called\n", (long) sema));
status = pthread_cond_destroy(&thesema->cond);
CHECK_STATUS("pthread_cond_destroy");
status = pthread_mutex_destroy(&thesema->mutex);
@@ -399,12 +399,12 @@ void free_sema _P1(sema, type_sema sema)
free((void *) thesema);
}
-int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
{
int status, error = 0, success;
struct semaphore *thesema = (struct semaphore *) sema;
- dprintf(("down_sema(%lx, %d) called\n", (long) sema, waitflag));
+ dprintf(("PyThread_down_sema(%lx, %d) called\n", (long) sema, waitflag));
status = pthread_mutex_lock(&thesema->mutex);
CHECK_STATUS("pthread_mutex_lock");
if (waitflag) {
@@ -424,16 +424,16 @@ int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
success = 0;
status = pthread_mutex_unlock(&thesema->mutex);
CHECK_STATUS("pthread_mutex_unlock");
- dprintf(("down_sema(%lx) return\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx) return\n", (long) sema));
return success;
}
-void up_sema _P1(sema, type_sema sema)
+void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
{
int status, error = 0;
struct semaphore *thesema = (struct semaphore *) sema;
- dprintf(("up_sema(%lx)\n", (long) sema));
+ dprintf(("PyThread_up_sema(%lx)\n", (long) sema));
status = pthread_mutex_lock(&thesema->mutex);
CHECK_STATUS("pthread_mutex_lock");
thesema->value++;
diff --git a/Python/thread_sgi.h b/Python/thread_sgi.h
index a53c8dc..a7b3114 100644
--- a/Python/thread_sgi.h
+++ b/Python/thread_sgi.h
@@ -66,7 +66,7 @@ static int maxpidindex; /* # of PIDs in pidlist */
/*
* This routine is called as a signal handler when another thread
* exits. When that happens, we must see whether we have to exit as
- * well (because of an exit_prog()) or whether we should continue on.
+ * well (because of an PyThread_exit_prog()) or whether we should continue on.
*/
static void exit_sig _P0()
{
@@ -81,13 +81,13 @@ static void exit_sig _P0()
if ((thread_debug & 8) == 0)
thread_debug &= ~1; /* don't produce debug messages */
#endif
- exit_thread();
+ PyThread_exit_thread();
}
}
/*
* This routine is called when a process calls exit(). If that wasn't
- * done from the library, we do as if an exit_prog() was intended.
+ * done from the library, we do as if an PyThread_exit_prog() was intended.
*/
static void maybe_exit _P0()
{
@@ -96,14 +96,14 @@ static void maybe_exit _P0()
dprintf(("already exiting\n"));
return;
}
- exit_prog(0);
+ PyThread_exit_prog(0);
}
#endif /* NO_EXIT_PROG */
/*
* Initialization.
*/
-static void _init_thread _P0()
+static void PyThread__init_thread _P0()
{
#ifndef NO_EXIT_PROG
struct sigaction s;
@@ -198,7 +198,7 @@ static void clean_threads _P0()
}
}
-int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
{
#ifdef USE_DL
long addr, size;
@@ -207,9 +207,9 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
int success = 0; /* init not needed when SOLARIS_THREADS and */
/* C_THREADS implemented properly */
- dprintf(("start_new_thread called\n"));
+ dprintf(("PyThread_start_new_thread called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
switch (ussetlock(count_lock)) {
case 0: return 0;
case -1: perror("ussetlock (count_lock)");
@@ -256,14 +256,14 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
return success < 0 ? 0 : 1;
}
-long get_thread_ident _P0()
+long PyThread_get_thread_ident _P0()
{
return getpid();
}
-static void do_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
{
- dprintf(("exit_thread called\n"));
+ dprintf(("PyThread_exit_thread called\n"));
if (!initialized)
if (no_cleanup)
_exit(0);
@@ -326,20 +326,20 @@ static void do_exit_thread _P1(no_cleanup, int no_cleanup)
_exit(0);
}
-void exit_thread _P0()
+void PyThread_exit_thread _P0()
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread _P0()
+void PyThread__exit_thread _P0()
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -347,49 +347,49 @@ static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
exit(status);
do_exit = 1;
exit_status = status;
- do_exit_thread(no_cleanup);
+ do_PyThread_exit_thread(no_cleanup);
}
-void exit_prog _P1(status, int status)
+void PyThread_exit_prog _P1(status, int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(status, int status)
+void PyThread__exit_prog _P1(status, int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
/*
* Lock support.
*/
-type_lock allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock _P0()
{
ulock_t lock;
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
if ((lock = usnewlock(shared_arena)) == NULL)
perror("usnewlock");
(void) usinitlock(lock);
- dprintf(("allocate_lock() -> %lx\n", (long)lock));
- return (type_lock) lock;
+ dprintf(("PyThread_allocate_lock() -> %lx\n", (long)lock));
+ return (PyThread_type_lock) lock;
}
-void free_lock _P1(lock, type_lock lock)
+void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("free_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_free_lock(%lx) called\n", (long)lock));
usfreelock((ulock_t) lock, shared_arena);
}
-int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
{
int success;
- dprintf(("acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
+ dprintf(("PyThread_acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
errno = 0; /* clear it just in case */
if (waitflag)
success = ussetlock((ulock_t) lock);
@@ -397,13 +397,13 @@ int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
success = uscsetlock((ulock_t) lock, 1); /* Try it once */
if (success < 0)
perror(waitflag ? "ussetlock" : "uscsetlock");
- dprintf(("acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
return success;
}
-void release_lock _P1(lock, type_lock lock)
+void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("release_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_release_lock(%lx) called\n", (long)lock));
if (usunsetlock((ulock_t) lock) < 0)
perror("usunsetlock");
}
@@ -411,43 +411,43 @@ void release_lock _P1(lock, type_lock lock)
/*
* Semaphore support.
*/
-type_sema allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
{
usema_t *sema;
- dprintf(("allocate_sema called\n"));
+ dprintf(("PyThread_allocate_sema called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
if ((sema = usnewsema(shared_arena, value)) == NULL)
perror("usnewsema");
- dprintf(("allocate_sema() -> %lx\n", (long) sema));
- return (type_sema) sema;
+ dprintf(("PyThread_allocate_sema() -> %lx\n", (long) sema));
+ return (PyThread_type_sema) sema;
}
-void free_sema _P1(sema, type_sema sema)
+void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("free_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_free_sema(%lx) called\n", (long) sema));
usfreesema((usema_t *) sema, shared_arena);
}
-int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
{
int success;
- dprintf(("down_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx) called\n", (long) sema));
if (waitflag)
success = uspsema((usema_t *) sema);
else
success = uscpsema((usema_t *) sema);
if (success < 0)
perror(waitflag ? "uspsema" : "uscpsema");
- dprintf(("down_sema(%lx) return\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx) return\n", (long) sema));
return success;
}
-void up_sema _P1(sema, type_sema sema)
+void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("up_sema(%lx)\n", (long) sema));
+ dprintf(("PyThread_up_sema(%lx)\n", (long) sema));
if (usvsema((usema_t *) sema) < 0)
perror("usvsema");
}
@@ -465,12 +465,12 @@ struct key {
static struct key *keyhead = NULL;
static int nkeys = 0;
-static type_lock keymutex = NULL;
+static PyThread_type_lock keymutex = NULL;
static struct key *find_key _P2(key, int key, value, void *value)
{
struct key *p;
- long id = get_thread_ident();
+ long id = PyThread_get_thread_ident();
for (p = keyhead; p != NULL; p = p->next) {
if (p->id == id && p->key == key)
return p;
@@ -482,25 +482,25 @@ static struct key *find_key _P2(key, int key, value, void *value)
p->id = id;
p->key = key;
p->value = value;
- acquire_lock(keymutex, 1);
+ PyThread_acquire_lock(keymutex, 1);
p->next = keyhead;
keyhead = p;
- release_lock(keymutex);
+ PyThread_release_lock(keymutex);
}
return p;
}
-int create_key _P0()
+int PyThread_create_key _P0()
{
if (keymutex == NULL)
- keymutex = allocate_lock();
+ keymutex = PyThread_allocate_lock();
return ++nkeys;
}
-void delete_key _P1(key, int key)
+void PyThread_delete_key _P1(key, int key)
{
struct key *p, **q;
- acquire_lock(keymutex, 1);
+ PyThread_acquire_lock(keymutex, 1);
q = &keyhead;
while ((p = *q) != NULL) {
if (p->key == key) {
@@ -511,10 +511,10 @@ void delete_key _P1(key, int key)
else
q = &p->next;
}
- release_lock(keymutex);
+ PyThread_release_lock(keymutex);
}
-int set_key_value _P2(key, int key, value, void *value)
+int PyThread_set_key_value _P2(key, int key, value, void *value)
{
struct key *p = find_key(key, value);
if (p == NULL)
@@ -523,7 +523,7 @@ int set_key_value _P2(key, int key, value, void *value)
return 0;
}
-void *get_key_value _P1(key, int key)
+void *PyThread_get_key_value _P1(key, int key)
{
struct key *p = find_key(key, NULL);
if (p == NULL)
diff --git a/Python/thread_solaris.h b/Python/thread_solaris.h
index c1740ce..e902245 100644
--- a/Python/thread_solaris.h
+++ b/Python/thread_solaris.h
@@ -40,7 +40,7 @@ PERFORMANCE OF THIS SOFTWARE.
/*
* Initialization.
*/
-static void _init_thread _P0()
+static void PyThread__init_thread _P0()
{
}
@@ -65,15 +65,15 @@ static void *new_func _P1(funcarg, void *funcarg)
}
-int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
+int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
{
struct func_arg *funcarg;
int success = 0; /* init not needed when SOLARIS_THREADS and */
/* C_THREADS implemented properly */
- dprintf(("start_new_thread called\n"));
+ dprintf(("PyThread_start_new_thread called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
funcarg = (struct func_arg *) malloc(sizeof(struct func_arg));
funcarg->func = func;
funcarg->arg = arg;
@@ -85,16 +85,16 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
return success < 0 ? 0 : 1;
}
-long get_thread_ident _P0()
+long PyThread_get_thread_ident _P0()
{
if (!initialized)
- init_thread();
+ PyThread_init_thread();
return thr_self();
}
-static void do_exit_thread _P1(no_cleanup, int no_cleanup)
+static void do_PyThread_exit_thread _P1(no_cleanup, int no_cleanup)
{
- dprintf(("exit_thread called\n"));
+ dprintf(("PyThread_exit_thread called\n"));
if (!initialized)
if (no_cleanup)
_exit(0);
@@ -103,20 +103,20 @@ static void do_exit_thread _P1(no_cleanup, int no_cleanup)
thr_exit(0);
}
-void exit_thread _P0()
+void PyThread_exit_thread _P0()
{
- do_exit_thread(0);
+ do_PyThread_exit_thread(0);
}
-void _exit_thread _P0()
+void PyThread__exit_thread _P0()
{
- do_exit_thread(1);
+ do_PyThread_exit_thread(1);
}
#ifndef NO_EXIT_PROG
-static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
+static void do_PyThread_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
{
- dprintf(("exit_prog(%d) called\n", status));
+ dprintf(("PyThread_exit_prog(%d) called\n", status));
if (!initialized)
if (no_cleanup)
_exit(status);
@@ -128,27 +128,27 @@ static void do_exit_prog _P2(status, int status, no_cleanup, int no_cleanup)
exit(status);
}
-void exit_prog _P1(status, int status)
+void PyThread_exit_prog _P1(status, int status)
{
- do_exit_prog(status, 0);
+ do_PyThread_exit_prog(status, 0);
}
-void _exit_prog _P1(status, int status)
+void PyThread__exit_prog _P1(status, int status)
{
- do_exit_prog(status, 1);
+ do_PyThread_exit_prog(status, 1);
}
#endif /* NO_EXIT_PROG */
/*
* Lock support.
*/
-type_lock allocate_lock _P0()
+PyThread_type_lock PyThread_allocate_lock _P0()
{
mutex_t *lock;
- dprintf(("allocate_lock called\n"));
+ dprintf(("PyThread_allocate_lock called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
lock = (mutex_t *) malloc(sizeof(mutex_t));
if (mutex_init(lock, USYNC_THREAD, 0)) {
@@ -156,22 +156,22 @@ type_lock allocate_lock _P0()
free((void *) lock);
lock = 0;
}
- dprintf(("allocate_lock() -> %lx\n", (long)lock));
- return (type_lock) lock;
+ dprintf(("PyThread_allocate_lock() -> %lx\n", (long)lock));
+ return (PyThread_type_lock) lock;
}
-void free_lock _P1(lock, type_lock lock)
+void PyThread_free_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("free_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_free_lock(%lx) called\n", (long)lock));
mutex_destroy((mutex_t *) lock);
free((void *) lock);
}
-int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
+int PyThread_acquire_lock _P2(lock, PyThread_type_lock lock, waitflag, int waitflag)
{
int success;
- dprintf(("acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
+ dprintf(("PyThread_acquire_lock(%lx, %d) called\n", (long)lock, waitflag));
if (waitflag)
success = mutex_lock((mutex_t *) lock);
else
@@ -180,13 +180,13 @@ int acquire_lock _P2(lock, type_lock lock, waitflag, int waitflag)
perror(waitflag ? "mutex_lock" : "mutex_trylock");
else
success = !success; /* solaris does it the other way round */
- dprintf(("acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock(%lx, %d) -> %d\n", (long)lock, waitflag, success));
return success;
}
-void release_lock _P1(lock, type_lock lock)
+void PyThread_release_lock _P1(lock, PyThread_type_lock lock)
{
- dprintf(("release_lock(%lx) called\n", (long)lock));
+ dprintf(("PyThread_release_lock(%lx) called\n", (long)lock));
if (mutex_unlock((mutex_t *) lock))
perror("mutex_unlock");
}
@@ -194,12 +194,12 @@ void release_lock _P1(lock, type_lock lock)
/*
* Semaphore support.
*/
-type_sema allocate_sema _P1(value, int value)
+PyThread_type_sema PyThread_allocate_sema _P1(value, int value)
{
sema_t *sema;
- dprintf(("allocate_sema called\n"));
+ dprintf(("PyThread_allocate_sema called\n"));
if (!initialized)
- init_thread();
+ PyThread_init_thread();
sema = (sema_t *) malloc(sizeof(sema_t));
if (sema_init(sema, value, USYNC_THREAD, 0)) {
@@ -207,23 +207,23 @@ type_sema allocate_sema _P1(value, int value)
free((void *) sema);
sema = 0;
}
- dprintf(("allocate_sema() -> %lx\n", (long) sema));
- return (type_sema) sema;
+ dprintf(("PyThread_allocate_sema() -> %lx\n", (long) sema));
+ return (PyThread_type_sema) sema;
}
-void free_sema _P1(sema, type_sema sema)
+void PyThread_free_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("free_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_free_sema(%lx) called\n", (long) sema));
if (sema_destroy((sema_t *) sema))
perror("sema_destroy");
free((void *) sema);
}
-int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
+int PyThread_down_sema _P2(sema, PyThread_type_sema sema, waitflag, int waitflag)
{
int success;
- dprintf(("down_sema(%lx) called\n", (long) sema));
+ dprintf(("PyThread_down_sema(%lx) called\n", (long) sema));
if (waitflag)
success = sema_wait((sema_t *) sema);
else
@@ -236,13 +236,13 @@ int down_sema _P2(sema, type_sema sema, waitflag, int waitflag)
}
else
success = !success;
- dprintf(("down_sema(%lx) return %d\n", (long) sema, success));
+ dprintf(("PyThread_down_sema(%lx) return %d\n", (long) sema, success));
return success;
}
-void up_sema _P1(sema, type_sema sema)
+void PyThread_up_sema _P1(sema, PyThread_type_sema sema)
{
- dprintf(("up_sema(%lx)\n", (long) sema));
+ dprintf(("PyThread_up_sema(%lx)\n", (long) sema));
if (sema_post((sema_t *) sema))
perror("sema_post");
}