Please omit this message, this issue solved after I download and compile latest malamute server.
2015-08-13 17:48 GMT+08:00 Miao Lin <[email protected]>: > Hi: > > I am using malamute client with zloop reactor. my program always stop > receive message after working good for a while. > > I checked the verbose out of zloop, seems data consumed too slow. in my > zloop callback function, I only receive one zmsg_t per callback ,does this > correct? > > If no, how to know if there still have message can be read so I can > call mlm_client_recv() many times without block the callback? > > > Best > Miao > > > here is the code: > > > static int s_consumer_event(zloop_t *loop, zsock_t *handle, void *arg) > { > zmsg_t* m = mlm_client_recv(consumer); > if (NULL == m) { > zsys_info("Invalid NULL zmsg"); > return -1; > } > > while (1){ > zframe_t* f = zmsg_pop(m); > if (f){ > ...do some works here.... > zframe_destroy(&f); > } > else > break; > } > > zmsg_destroy(&m); > > return 0; > > } > > > > main(){ > .... > rc = mlm_client_set_consumer(consumer, dahdi_mlm_event_stream, "."); > assert(rc >= 0); > > // create zloop > zloop_t* loop = zloop_new() > assert(loop); > > // add consumer to loop > rc = zloop_reader(loop, mlm_client_msgpipe(consumer), s_consumer_event, > NULL); > assert(rc == 0); > > // add a timer; > timer_id = zloop_timer(loop, 1000, 0, s_timer_event, NULL); > assert(timer_id != -1); > > puts(PRODUCT); > puts(COPYRIGHT); > > // handle messages > zloop_start(loop); > .... > } >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
