return ioctlsocket(fd, FIONBIO, &opt);
#else
int flags = fcntl(fd, F_GETFL, 0);
- return fcntl(fd, F_SETFL, flags ^ O_NONBLOCK);
+ return fcntl(fd, F_SETFL, flags & ~O_NONBLOCK);
#endif
}
int SocketEngine::RecvFrom(EventHandler* fd, void *buf, size_t len, int flags, sockaddr *from, socklen_t *fromlen)
{
this->UpdateStats(len, 0);
- return recvfrom(fd->GetFd(), (char*)buf, len, flags, from, fromlen);
+ return recvfrom(fd->GetFd(), buf, len, flags, from, fromlen);
}
int SocketEngine::Send(EventHandler* fd, const void *buf, size_t len, int flags)
{
this->UpdateStats(0, len);
- return send(fd->GetFd(), (const char*)buf, len, flags);
+ return send(fd->GetFd(), buf, len, flags);
}
int SocketEngine::Recv(EventHandler* fd, void *buf, size_t len, int flags)
{
this->UpdateStats(len, 0);
- return recv(fd->GetFd(), (char*)buf, len, flags);
+ return recv(fd->GetFd(), buf, len, flags);
}
int SocketEngine::SendTo(EventHandler* fd, const void *buf, size_t len, int flags, const sockaddr *to, socklen_t tolen)
{
this->UpdateStats(0, len);
- return sendto(fd->GetFd(), (const char*)buf, len, flags, to, tolen);
+ return sendto(fd->GetFd(), buf, len, flags, to, tolen);
}
int SocketEngine::Connect(EventHandler* fd, const sockaddr *serv_addr, socklen_t addrlen)