Hi ,The pipe_t between Dealer socket and I/O thread has been stuck in the sense
that msgs are continuously written into the pipe but not drained. And the
sender is not doing the flush because the compare and swap pointer is NOT
null.I have gone through the code. After the sender has notified the I/O thread
for read , I/O thread reads atmost output_batch_size(8072).. Please correct me
if I am wrong . If the I/O thread does not fully drain the pipe for any reason
, the sender will not notify again since sender depends on c_ptr (cas ptr)
being NULL , which will not be set to NULL unless the I/O thread drains the
pipe fully.Basically the case is sender is NOT nitifying the I/O thread sicne
the c_ptr is not NULL at all and I/O thread is not reading because it will not
get the notifcation ..The pipe is continuously filled and messages are not sent
out to the ultimate destination due to this..
OR The above situtation could be there is some race in multi core environment
where compare and swap operation is not operating consistently . Our system is
ARM v7 system .
Please let me know if there are known problems.
THanksSiva
_______________________________________________
zeromq-dev mailing list
[email protected]
https://lists.zeromq.org/mailman/listinfo/zeromq-dev