Hi,

could you please open an issue at https://bitbucket.org/stackless-dev/stackless/issues?status=new&status=open.

Regards
   Anselm

Am 21.07.2016 um 09:44 schrieb Temp Sha:
Hi All,

I am trying to port    PyArg_ParseTupleAndKeywords(args, kwds,
"|O:tasklet", kwlist, &func)
from stackless python2.7.5 to python2.7.9  for my specific project
requirement. however I get compile time error "SystemError:
Python/getargs.c:1435: bad argument to internal function"




......
.......
/root/usr/lib -Xlinker -rpath-link -Xlinker /home/temp/root/lib
-Xlinker -export-dynamic -o python \
        Modules/python.o \
        libpython2.7.a -ldl  -lutil   -lm
./python-host -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
    echo "generate-posix-vars failed" ; \
    rm -f ./pybuilddir.txt ; \
    exit 1 ; \
fi
SystemError: Python/getargs.c:1435: bad argument to internal function
generate-posix-vars failed
make[1]: *** [pybuilddir.txt] Error 1
make[1]: Leaving directory
`/home/temp/src/sys/3rdparty/python/stackless-279-export'
../../../../mk/makerules-configure,make,make_install:154: recipe for
target '/home/temp/src/sys/3rdparty/python/stackless-279-export/python'
failed
make: *** [/home/temp/src/sys/3rdparty/python/stackless-279-export/python]
Error 2
make: *** Deleting file
'/home/temp/src/sys/3rdparty/python/stackless-279-export/python'
/home/temp/python>



This seems to be a run time err but force to check at compile somehow
with " python-host sysconfig" but not sure how. can any one help me
understanding how this checking is done
at compile time ? how can i  avoid this error ?






--- stackless-279-export_org/Stackless/module/taskletobject.c
2016-07-19 05:05:50.194679706 +0530
+++ stackless-279-export/Stackless/module/taskletobject.c
2016-07-21 01:54:28.829913276 +0530
@@ -361,12 +361,21 @@
 {
     PyThreadState *ts = PyThreadState_GET();
     PyTaskletObject *t;
+    PyFunctionObject *func = NULL;
+    static char *kwlist[] = {"func", NULL};

     /* we always need a cstate, so be sure to initialize */
     if (ts->st.initial_stub == NULL) {
         PyMethodDef def = {"__new__", (PyCFunction)tasklet_new, METH_NOARGS};
         return PyStackless_CallCMethod_Main(&def, (PyObject*)type, NULL);
     }
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O:tasklet", kwlist, &func))
+        return NULL;
+
+    if ((PyObject *)func != NULL && !PyCallable_Check((PyObject *)func))
+          TYPE_ERROR("tasklet function must be a callable", NULL);
+
     if (type == NULL)
         type = &PyTasklet_Type;
     t = (PyTaskletObject *) type->tp_alloc(type, 0);
@@ -376,6 +385,8 @@
     t->next = NULL;
     t->prev = NULL;
     t->f.frame = NULL;
+    if (func == NULL)
+        func = Py_None;
     Py_INCREF(Py_None);
     t->tempval = Py_None;
     t->tsk_weakreflist = NULL;
@@ -390,6 +401,10 @@
             return NULL;
         }
     }














thanks.

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless


--
 Dipl. Phys. Anselm Kruis                       science + computing ag
 Senior Solution Architect                      Ingolstädter Str. 22
 email [email protected]                         80807 München, Germany
 phone +49 89 356386 874  fax 737               http://de.atos.net/sc

--
Science + Computing AG
Vorstandsvorsitzender/Chairman of the board of management:
Dr. Martin Matzke
Vorstand/Board of Management:
Johannes Barthmes, Yvonne Veyhelmann
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Philippe Miltin
Aufsichtsrat/Supervisory Board:
Martin Wibbe, Winfried Holz
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to