[zeromq-dev] Blocking after 2000 sent messages

Garrett Smith g at rre.tt
Wed Dec 18 22:19:32 CET 2013


I'm using czmq. This code:

    zctx_t *ctx = zctx_new ();

    void *output = zsocket_new (ctx, ZMQ_PAIR);
    zsocket_bind (output, "inproc://zstr.test");
    void *input = zsocket_new (ctx, ZMQ_PAIR);
    zsocket_connect (input, "inproc://zstr.test");

    int i;
    for (i = 0; i < 3000; i++) {
        fprintf (stderr, " %i", i);
        zstr_send (output, "this is string %d", i);
    }

will print up to "2000" and then block.

As this behavior is (seems to be) governed by sndhwm - I set it to 0
to on output disable it:

    zsocket_set_sndhwm (output, 0);

But I'm seeing the same behavior.

I've read The Guide, bought Pieter's book, given presentations on 0MQ
at conferences and *even* read the API docs. Now I'm trying crowd
sourcing -- is there an obvious explanation to someone?

Garrett



More information about the zeromq-dev mailing list