diff options
author | necoro <> | 2006-09-17 17:23:45 +0000 |
---|---|---|
committer | necoro <> | 2006-09-17 17:23:45 +0000 |
commit | e50443b874cdea9bcfdecd38e327dc4b2694ed02 (patch) | |
tree | 762c01715444e435f1d11afae99c8aae9c02137e /geneticone/modules/geneticthread.c | |
parent | fe43409d7ac9c2527ab99847fecdace175b3b81d (diff) | |
download | portato-e50443b874cdea9bcfdecd38e327dc4b2694ed02.tar.gz portato-e50443b874cdea9bcfdecd38e327dc4b2694ed02.tar.bz2 portato-e50443b874cdea9bcfdecd38e327dc4b2694ed02.zip |
Removed our own threading-module ...
Diffstat (limited to '')
-rw-r--r-- | geneticone/modules/geneticthread.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/geneticone/modules/geneticthread.c b/geneticone/modules/geneticthread.c deleted file mode 100644 index 33520a6..0000000 --- a/geneticone/modules/geneticthread.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * This is a python module implementing real threads. - */ -#include <Python.h> -#include <pthread.h> - -/** - * Callback for the thread. Just calls the argument's python function. - */ -static void * thread_cb (void * arg) -{ - PyObject * arglist; - - arglist = Py_BuildValue("()",NULL); - PyEval_CallObject((PyObject*)arg, arglist); - Py_DECREF(arglist); - Py_DECREF((PyObject*)arg); - - return NULL; -} - -/** - * Function called from the python application. - */ -static PyObject * thread_start (PyObject * self, PyObject *args) -{ - PyObject *temp; - pthread_t ID; - - if (PyArg_ParseTuple(args, "O:thread_start", &temp)) // get argument - { - if (!PyCallable_Check(temp)) // not callable - { - PyErr_SetString(PyExc_TypeError, "parameter must be callable"); - return NULL; - } - Py_INCREF(temp); /* Add a reference to new callback */ - int status = pthread_create(&ID, NULL, thread_cb, (void*) temp); - if (status) - { - PyErr_SetString(PyExc_SystemError, "error during thread start"); - return NULL; - } - } - - Py_RETURN_NONE; -} - -static PyMethodDef ThreadMethods[] = { - {"thread_start", thread_start, METH_VARARGS, - "Start a new thread."}, - {NULL, NULL, 0, NULL} /* Sentinel */ -}; - -/** - * Init function. - */ -PyMODINIT_FUNC -initgeneticthread(void) -{ - (void) Py_InitModule("geneticthread", ThreadMethods); -} |