diff options
author | necoro <> | 2006-10-08 17:26:27 +0000 |
---|---|---|
committer | necoro <> | 2006-10-08 17:26:27 +0000 |
commit | f27145ec49c6f1cdd13db2f3bf389164f10ac828 (patch) | |
tree | 46368b0191a98a7406ea860972f25114955e465f /obsolete/geneticthread.c | |
parent | 1e9ddc03e5667e5a9297508f7bec8b7f3ea46dc9 (diff) | |
download | portato-f27145ec49c6f1cdd13db2f3bf389164f10ac828.tar.gz portato-f27145ec49c6f1cdd13db2f3bf389164f10ac828.tar.bz2 portato-f27145ec49c6f1cdd13db2f3bf389164f10ac828.zip |
Made the testing stuff working too ... I hope ^^ ... removed obsolete-dir
Diffstat (limited to 'obsolete/geneticthread.c')
-rw-r--r-- | obsolete/geneticthread.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/obsolete/geneticthread.c b/obsolete/geneticthread.c deleted file mode 100644 index 33520a6..0000000 --- a/obsolete/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); -} |