Hendrik van Rooyen wrote:

I can see that my explanation passes you by completely.

I said, in my original post, that a can could not leave a process.
A can is exactly the same as a C pointer, only its value has been
converted to a string, so that you can pass it "in band" as
part of a string. That is all it does. No more, no less.

If I understand correctly, your problem and solution was this:

You have multiple threads within a long running process. One thread repeatedly reads a socket. You wanted to be able to occasionally send an object to that thread. Rather than rewrite the thread to also poll a queue.Queue(), which for CPython sends objects by sending a pointer, you converted pointers to strings and sent (multiplex) them via the text stream the thread was already reading -- and modified the thread to decode and act on the new type of message.

And you are willing to share the can code with someone who has a similar rare need and understands the danger of interpreting ints as addresses.

Correct?

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to