The following snippet seems to be leaking 1 handle per second, as viewed
from task manager.
OS: Windows XP SP3 32-bits
Library: ZeroMQ v3.2.2
-
#include zmq.h
#include zmq_utils.h
int main()
{
void *ctx = zmq_ctx_new();
while (1) {
void *zsock = zmq_socket(ctx,
Opening and closing sockets repeatedly is a very bad idea. Since
sockets are in fact closed asynchronously and only finally when you
call zmq_ctx_destroy, this code will indeed leak memory.
-Pieter
On Tue, Dec 25, 2012 at 10:55 AM, KIU Shueng Chuan nixch...@gmail.com wrote:
The following
Eh? Doesn't the pirate pattern do a close and open?
I was referring to a win32 HANDLE leak. I seem to have located the leak.
zmq::signaler_t::make_fdpair() opens an Event but fails to CloseHandle it.
Adding the CloseHandle, the handle count for the sample program stays
constant in task manager.
Actually, I recall a thread previously around make_fdpair on windows -
might be worth a quick search of the archives in case this has been
subsequently addressed.
On 25 Dec 2012 15:44, KIU Shueng Chuan nixch...@gmail.com wrote:
Eh? Doesn't the pirate pattern do a close and open?
I was
On Tue, Dec 25, 2012 at 5:44 PM, KIU Shueng Chuan nixch...@gmail.com wrote:
Eh? Doesn't the pirate pattern do a close and open?
Yes, but only in case of failures, which should be rare.
I was referring to a win32 HANDLE leak. I seem to have located the leak.
zmq::signaler_t::make_fdpair()
You are right, someone pointed out the CreateEvent leak in make_fdpair() in
November but there were no follow ups.
http://lists.zeromq.org/pipermail/zeromq-dev/2012-November/019515.html
On Dec 26, 2012 12:05 AM, Ian Barber ian.bar...@gmail.com wrote:
Actually, I recall a thread previously