Hi, I'm trying to handle data passed to Py Callback which is called from C dll. Callback passes data to another thread using Queue module and there the data are printed out.
If data is printed out in a callback itself it's ok. If I put on queue and next get from queue in another thread script prints some trash. Looks like the data is released when callback returned. I tired to make d = copy.deepcopy(data), but it does not work - I got nothing. Any idea why it's happening ? --------------------- main thread -------- def callback(data, size): myqueue.put((data, size)) mydll = cdll.MyDLL cbproto = CFUNCTYPE(c_int, POINTER(c_char), c_int) mycallback = cbproto(callback) mydll.RegisterCallback(mycallback) ---------------------------------- thread listener ---------------------- while True: data, size = myqueue.get() print "***", data[:size] ------------------------------------------------------------------------------ -- http://mail.python.org/mailman/listinfo/python-list