Issue caught in Golang runtime, which widely uses signal SIGURG for scheduling. Sometimes messages cannot be received. Technically socket_base_t::process_commands() returns failure even if some commands were processed, but next message from mailbox could not be received during interrupt.
Solution: retry receiving from mailbox with zero timeout after EINTR.
Issue caught in Golang runtime, which widely uses signal SIGURG for scheduling. Sometimes messages cannot be received. Technically socket_base_t::process_commands() returns failure even if some commands were processed, but next message from mailbox could not be received during interrupt.
Solution: retry receiving from mailbox with zero timeout after EINTR.
Signed-off-by: Ilya Kondrashkin ikondrashkin@nfware.com