[IPython-dev] Zmq branch on LP: re-created.

Hans Meine hans_meine at gmx.net
Fri Apr 30 05:12:34 EDT 2010


Am Freitag 30 April 2010 01:30:05 schrieben Sie:
> Hans, were you using pure python sockets?

I was about to say no, but actually we did:
  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
although we later used Qt's QSocketNotifier around it (by taking s.fileno()), 
so the select() would happen from within C++.

> We're trying to avoid any
> python code in the sockets layer, so that message queuing can continue
> to happen even if the kernel is running blocking code (e.g. numpy).
> zmq does that by releasing the gil for most of its operations.  Was
> that not an issue for you guys?

I am not sure I understand the problem.  Of course, the backend could (and 
would) block and not respond to the commands, so for example completion would 
not work during program execution.  But I don't see a way around that.  
Messages would not be queued as in 0mq, but I guess the OS would maintain some 
buffer.

Sorry if I could not really answer your question; I guess my memory is already 
too faint (this was 2003 according to the /CVS/ logs..).

Anyhow, the 0mq approach is certainly better for the main communication, I was 
just wondering about the detection of a crashed backend.

Best,
  Hans



More information about the IPython-dev mailing list