[zeromq-dev] EAGAIN with zmq_disconnect on inproc socket
Stefan Radomski
radomski at tk.informatik.tu-darmstadt.de
Tue Dec 4 03:14:31 CET 2012
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 <hurtonm at gmail.com> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: socket_base.cpp.diff
Type: application/octet-stream
Size: 1021 bytes
Desc: socket_base.cpp.diff
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20121204/a84622ea/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: socket_base.hpp.diff
Type: application/octet-stream
Size: 160 bytes
Desc: socket_base.hpp.diff
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20121204/a84622ea/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-zeromq-disconnect.cpp
Type: application/octet-stream
Size: 4274 bytes
Desc: test-zeromq-disconnect.cpp
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20121204/a84622ea/attachment-0002.obj>
More information about the zeromq-dev
mailing list