https://github.com/zeromq/pyczmq/pull/8
-Michel On Wed, Nov 20, 2013 at 8:14 AM, Michel Pelletier < [email protected]> wrote: > Ah I see what's up, poller() automatically wraps the arg in new_handle, > but timer does not. In either case the callback author has to unbox the > handle back into whatever it was they passed in. I'll push a PR. > > -Michel > > > On Wed, Nov 20, 2013 at 8:07 AM, Michel Pelletier < > [email protected]> wrote: > >> Yes this is unfortunate, the arg can only be something fii thinks is a >> pointer. You have to "box/unbox" it with ffi.new_handle/fii.from_handle >> >> http://cffi.readthedocs.org/en/release-0.8/#misc-methods-on-ffi >> >> -Michel >> >> >> On Wed, Nov 20, 2013 at 4:09 AM, Michael Haberler <[email protected]>wrote: >> >>> I'm stuck at passing 'self' as a timer callback argument: >>> >>> Class Test: >>> >>> @ffi.callback('zloop_fn') >>> def timer_event(loop, item, arg): >>> print type(loop), type(item), type(arg) >>> >>> def __init__(self): >>> ... >>> zloop.timer(self.loop, msec, 1, self.timer_event, self) >>> # this raises: TypeError: initializer for ctype 'void *' must be >>> a cdata pointer, not instance >>> >>> how do I coerce this into action? >>> >>> - Michael >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >> >> >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
