Skip to content
Snippets Groups Projects
Commit 869d2053 authored by controls's avatar controls
Browse files

Fixing timout logic

parent ec3034b1
No related branches found
No related tags found
3 merge requests!439RCG 5.0 release fro deb 10,!415Cdsrfm to use new dolphin interface,!411Userspace dolphin daemon, netlink dolphin setup for real time models
......@@ -113,11 +113,12 @@ class NetlinkSocket
msg.msg_iov = &iov;
msg.msg_iovlen = 1;
size_t ret = ::recvmsg(_sock_fd, &msg, 0);
ssize_t ret = ::recvmsg(_sock_fd, &msg, 0);
if( ret > 0)
memcpy(data, NLMSG_DATA(nlh), ret - NLMSG_HDRLEN);
return ret - NLMSG_HDRLEN; //Return size of data
return ret - NLMSG_HDRLEN;
return ret;//Return error code
}
......
......@@ -37,17 +37,17 @@ DolphinKernelProxy::DolphinKernelProxy()
void DolphinKernelProxy::thread_body()
{
int ret;
ssize_t ret;
char buffer[MAX_PAYLOAD] = {0};
while( !should_stop() )
{
ret = _requests_socket->recvmsg(buffer, MAX_PAYLOAD);
if(ret == -1) continue; //Timout
if (ret < 0)
{
if((errno == EAGAIN) || (errno == EWOULDBLOCK)) continue; //Timout
spdlog::warn("DolphinKernelProxy - Error {}, when receiving netlink multicast message from group {}",
ret, NETLINK_GROUP_NUM);
continue;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment