[zeromq-dev] Poll on pair socket

Pieter Hintjens ph at imatix.com
Sat Nov 10 15:34:26 CET 2012


Use ZMQ_POLLIN instead of POLLIN and it will work.

-Pieter

On Sat, Nov 10, 2012 at 11:14 PM, Doron Somech <somdoron at gmail.com> wrote:
> I may get it wrong, but this is the code i'm using the poll is blocked
> forever:
>
> int main (int argc, char *argv [])
> {
> void* ctx = zmq_ctx_new();
>
> void *p1 = zmq_socket(ctx, ZMQ_PAIR);
> void *p2 = zmq_socket(ctx, ZMQ_PAIR);
>
> zmq_bind(p1, "inproc://d.inproc");
> zmq_connect(p2, "inproc://d.inproc");
>
> char arr[1];
> arr[0] = 1;
>
> zmq_send(p1, arr, 1, 0);
>
> zmq_pollitem_t item;
> item.socket = p2;
> item.events = POLLIN;
>
> int result = zmq_poll(&item, 1, -1);
>
> return 0;
> }
>
> On Sat, Nov 10, 2012 at 4:07 PM, Pieter Hintjens <ph at imatix.com> wrote:
>>
>> Poll on PAIR sockets definitely works, we use this all the time.
>>
>> Can you make a minimal test case that shows the problem happening? It
>> could be that you've simply made an error in how you're calling
>> zmq_poll.
>>
>> -Pieter
>>
>>
>> On Sat, Nov 10, 2012 at 9:43 PM, Doron Somech <somdoron at gmail.com> wrote:
>> > Hi,
>> >
>> > I'm trying to build a reactor which will also listen to the monitor
>> > socket.
>> > the problem is that poll on a pair socket is not working.
>> >
>> > checking the code i found out that the send_activate_read is never
>> > called on
>> > a pair socket (which is causing the signaling on the socket the poll is
>> > actually listen on).
>> >
>> > I don't want to create a thread for each socket i'm going to monitor,
>> > other
>> > alternative is to configure the socket with receive timeout of zero and
>> > use
>> > don't wait option.
>> >
>> > I'm not sure that the second solution is a good one, because I want one
>> > thread to listen to both regular sockets and monitor sockets,
>> > with that solution i have to do zmq_poll (with small timeout) and after
>> > the
>> > poll call the recv for all the monitoring sockets.
>> >
>> > Any suggestions?
>> >
>> > Thanks,
>> >
>> > Doron
>> >
>> > _______________________________________________
>> > zeromq-dev mailing list
>> > zeromq-dev at lists.zeromq.org
>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>



More information about the zeromq-dev mailing list