[Time] Name | Message |
[19:14] shales
|
I'm digging into the internals of 0mq and reading some of the white papers. I'm particular interested how the communication between the application and io threads work.
|
[19:16] shales
|
I see how when sending a message, the socket adds the message to the pipe, which adds it to a ypipe queue, but I don't see how the io thread gets woken up to handle the message
|
[19:16] shales
|
can anyone point me to where that is in the code?
|
[19:26] shales
|
I think I get it now. Flushing the pipe sends an activate reader command.
|
[19:26] shales
|
Why is it things always make more sense immediately after you ask a question?
|
[19:29] shales
|
An old whitepaper mentions X-mode where the io threads can cede a socket to the application thread so that it can send a message with minimum latency. Does the current version do this?
|
[22:31] mikko
|
novas0x2a|laptop: no
|
[22:31] mikko
|
do you mean the select system call?
|
[23:28] mikko
|
novas0x2a|laptop: you should only get invocation when there is something to read
|
[23:29] mikko
|
there might be a small period of time when noblock will still return false
|
[23:29] mikko
|
i tend to poll and read with blocking
|