struct timeval timeout = {
.tv_sec = static_cast<time_t>(timeout_msec / 1000),
.tv_usec = static_cast<suseconds_t>((timeout_msec % 1000) * 1000)};
- int ret = setsockopt(fd_, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
- if (ret < 0) LOGE("setsockopt() is failed. fd(%d), errno(%d)", fd_, errno);
+ int ret = setsockopt(fd_, SOL_SOCKET, SO_RCVTIMEO, &timeout,
+ sizeof(timeout));
+ if (ret < 0)
+ LOGE("setsockopt() is failed. fd(%d), errno(%d)", fd_, errno);
}
bool ClientSocket::Connect() {
int ClientSocket::TryConnection() {
int flags = fcntl(fd_, F_GETFL, 0);
- fcntl(fd_, F_SETFL, flags | O_NONBLOCK);
+ if (fcntl(fd_, F_SETFL, flags | O_NONBLOCK) != 0) {
+ LOGE("Failed to set flags(%d) on fd(%d), errno(%d)",
+ flags | O_NONBLOCK, fd_, errno);
+ return -1;
+ }
int ret =
connect(fd_, reinterpret_cast<struct sockaddr*>(&addr_), sizeof(addr_));
- fcntl(fd_, F_SETFL, flags);
+ if (fcntl(fd_, F_SETFL, flags) != 0) {
+ LOGE("Failed to set flags(%d) on fd(%d), errno(%d)",
+ flags, fd_, errno);
+ return -1;
+ }
if (ret < 0) {
- if (errno != EAGAIN && errno != EINPROGRESS) return -2;
+ if (errno != EAGAIN && errno != EINPROGRESS)
+ return -2;
} else if (ret == 0) {
SetOption();
return 0;
if (FD_ISSET(fd_, &readfds) || FD_ISSET(fd_, &writefds)) {
int error = 0;
socklen_t len = sizeof(error);
- if (getsockopt(fd_, SOL_SOCKET, SO_ERROR, &error, &len) < 0) return -1;
+ if (getsockopt(fd_, SOL_SOCKET, SO_ERROR, &error, &len) < 0)
+ return -1;
}
return -1;