During debugging of the case when timeout elapses while polling I found a strange behaviour:
In
|
while (!(result = (-1 != zmq.poll(native, 1, timeoutMs)))) |
the result of zmq_poll is compared to -1. If it's not -1 the method return true. In the case when the timeout elapsed the return value of zmq_poll is 0 and true is returned.
In ZPollItems.Poll
|
if (PollMany(sockets, items, pollEvents, out error, timeout)) |
the return value is used to decided if PollManyResults has to be called. But why should we try to read the results if no events have been signaled?
Can anyone have a look into this if the code is working as intended?
During debugging of the case when timeout elapses while polling I found a strange behaviour:
In
clrzmq4/ZPollItems.Win32.cs
Line 79 in e5471f9
the result of zmq_poll is compared to -1. If it's not -1 the method return true. In the case when the timeout elapsed the return value of zmq_poll is 0 and true is returned.
In ZPollItems.Poll
clrzmq4/ZPollItems.cs
Line 171 in e5471f9
the return value is used to decided if PollManyResults has to be called. But why should we try to read the results if no events have been signaled?
Can anyone have a look into this if the code is working as intended?