No problem. For what it's worth, copying/pasting code from the Guide examples will reduce this kind of error.
-Pieter On Sat, Nov 10, 2012 at 11:39 PM, Doron Somech <[email protected]> wrote: > thanks, it is working now. > > > On Sat, Nov 10, 2012 at 4:34 PM, Pieter Hintjens <[email protected]> wrote: >> >> Use ZMQ_POLLIN instead of POLLIN and it will work. >> >> -Pieter >> >> On Sat, Nov 10, 2012 at 11:14 PM, Doron Somech <[email protected]> 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 <[email protected]> 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 <[email protected]> >> >> 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 >> >> > [email protected] >> >> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >> >> > >> >> _______________________________________________ >> >> 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 >> > >> _______________________________________________ >> 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 > _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
