[zeromq-dev] REQ socket not releasing socketpair FDs after being torn down
Marcin Olak
marcin.olak at gmail.com
Tue Jan 31 14:20:39 CET 2012
Hi,
In my setup I connect bunch of REQ sockets through a queue device to a
backend service. REQ sockets are torn down on read timeout. If the backend
service becomes unavailable my app eventually runs out of FDs.
If I connect REQ sockets directly to the backend service - they're being
destroyed gracefully.
Failing queue device version: http://pastebin.com/AM1fDAVM
Working direct connection version: http://pastebin.com/3p2Tb2uG
I traced what's exactly hapenning with socket in these two versions and in
the first version not a single req_t destructor is being called while in
the working version req_t destructors are called.
Any ideas how could I make the queue version surviving the backend service
unavailability period? I was thinking of using additional heartbeat service
but maybe there's some other, cleaner way. Also connecting backend-service
to the other queue endpoint is not possible in my scenario.
regards,
Marcin Olak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20120131/c006d446/attachment.htm>
More information about the zeromq-dev
mailing list