23 Mar
2018
23 Mar
'18
9:41 a.m.
Of course the correct way to "cancel" a sync call in linux is to raise a signal, which should cause the socket's read to return with EINTR.
Not sure I understand. So is a deadline timer callback raises something like SIG_USR1, then a boost asio call to socket.read_some will return with an error code? If that's so, then that gives an easy way to implement a timeout doesn't it? My suspicion is that although the raw socket recv call may return that EINTR, I won't see that at the boost::asio level, but I'll give it a go. I may be misunderstanding though.