After the bind() call, as below:

...
    //  Subscriber tells us when it's ready here
    void *sync = zmq_socket (context, ZMQ_PULL);
    zmq_bind (sync, "tcp://*:5564");

    //  We send updates via this socket
    void *publisher = zmq_socket (context, ZMQ_PUB);
    zmq_bind (publisher, "tcp://*:5565");

    //  Prevent publisher overflow from slow subscribers
    uint64_t hwm = 5;
    zmq_setsockopt (publisher, ZMQ_HWM, &hwm, sizeof (hwm));

    //  Specify swap space in bytes, this covers all subscribers
    //uint64_t swap = 25000000;
    //zmq_setsockopt (publisher, ZMQ_SWAP, &swap, sizeof (swap));

    //  Wait for synchronization request
    char *string = s_recv (sync);
    free (string);
...

On Wed, Jul 27, 2011 at 7:12 PM, Ian Barber <[email protected]> wrote:

> On Wed, Jul 27, 2011 at 12:03 PM, Tonis Xie <[email protected]> wrote:
>
>> I changed the "sleep(1)" in durapub2.c to "usleep(10)", make the loop run
>> infinitely, start durapub2 and durasub, ctrl-c durasub, and I am seeing that
>> the allocated memory of durapub2 keep raising just like never hitting a
>> limit at all! However, I set the HWM to only 5.
>>
>
> Just to check with the changes, is the call to setsockopt with the HWM made
> before the bind() call, or after?
>
> Ian
>
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to