<div>I did not frame my question correctly and subject was misleading too. Let me put that correctly.</div><div> </div><div>I am using a ZMQ FD in an external select() loop, i,.e, a ZMQ FD is added to the set of fds (regular unix fds) in an external select() loop. </div>

<div> </div><div>Consider a situation, for a given message (in a router dealer pattern), only a few bytes are received at the receiver end and not the complete message, so the external select() loop would wake up the ZMQ FD since it can read atleast few bytes, but when we <span style="font-family:"Times New Roman","serif";font-size:12pt">call zmq_getsockopt() API with an option of ZMQ_EVENTS
to get the list of events on the socket, ZMQ  doesn't return any FD since no complete message is recvd (only a few bytes have been recvd). My question is:<div> </div><div>During the next select() iteration, would external select() wake up ZMQ FD again because we did not read the few bytes that were ready to be read on that fd OR will it NOT wake up ZMQ FD until new bytes are available for reading on this fd? What is ZMQ behavior in this case.</div>

<div> </div><div>Any help is greatly appreciated.</div><div> </div><div>Thanks.</div></span><div><br><br></div></div><div class="gmail_quote">On Wed, Sep 5, 2012 at 5:41 PM, diffuser78 <span dir="ltr"><<a href="mailto:diffuser78@gmail.com" target="_blank">diffuser78@gmail.com</a>></span> wrote:<br>

<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote"><div>Hi,</div><div> </div><div>I am using a ZMQ FD in an external select() loop, that is, a ZMQ FD is added to the set of fds (regular unix fds) in an external select loop.  </div>

<div> </div><div>Consider a situation, for a given message (in a router dealer pattern), only a few bytes are received at the receiver end and not the complete message, so the external select() loop would wake up the ZMQ FD since it can read atleast few bytes, but when we do a ZMQ_POLL, ZMQ  doesn't return any FD since no complete message is recvd (only a few bytes have been recvd). My question is:</div>


<div> </div><div>Next time, would external select() wake up ZMQ FD again because it is level triggered or does ZMQ internally reads those bytes so that external select loop won't wake up ZMQ FD until new set of bytes are received ?</div>


<div> </div><div>Please let me know your thoughts.</div><div> </div><div>DJ</div>
</blockquote></div><br>