Есть питоновский модуль, написанный на си. Он принимает callback от питоновского кода. И когда нужно вызывает.

Но вот так работает


def cb(args):
... print("callback"

mymodule.set_callback(cb)

А вот так


class myclass(object):

.. . def cb(self, args):
...... print("callback"

.... def __init__(self):
...... mymodule.set_callback(self.cb)

Нет, в тот момент, когда должен вызваться callback происходит segfault

Из кода модуля я для вызова пробовал использовать PyObject_Call и PyObject_CallObject








 ,






URL записи