Hi again,

attached is a patch for socket_base.cpp and socket_base.hpp to be applied 
against the current 3.2.2 release (2012/11/23) as well as a test-case. I am 
pretty new to the zeromq source, so please review extra carefully. I am not 
sure whether we should remove the pipe from pipes array as well.

The patch solves both LIBZMQ-476 and (by coincidence) LIBZMQ-475 I reported 
earlier.

Best regards
  Stefan

On Dec 3, 2012, at 9:52 PM, Martin Hurton <[email protected]> wrote:

>> But I cannot figure out, which pipe to terminate as I am having difficulties 
>> finding out, which one is connected to the peer endpoint. Also, I am not 
>> sure how to terminate a pipe - is it actually sufficient to call terminate 
>> on the pipe? If you help me to complete this one, I'll submit it as a patch.
> 
> To terminate a pipe, you can use terminate method. The method takes a
> flag which indicates whether you are to allow the pipe to process
> queued messages. This is used to allow the pipe to process queued
> messages, depending on the linger setting.

This flag is set to true for now, I am not sure about the eventual implications 
for inproc sockets.

> 
> As for endpoint tracking, I would suggest to keep separate container
> for inproc connections.
> 
> Would be great to have this covered by a test too.
> 
> - Martin

Attachment: socket_base.cpp.diff
Description: socket_base.cpp.diff

Attachment: socket_base.hpp.diff
Description: socket_base.hpp.diff

Attachment: test-zeromq-disconnect.cpp
Description: test-zeromq-disconnect.cpp

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to