m_sock_fd = socket(AF_UNIX, sock_type, 0);
if (!is_valid()) {
- _E("Failed to create socket for %s", get_client_name());
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Failed to create socket for %s", get_client_name());
return false;
}
length = strlen(m_addr.sun_path) + sizeof(m_addr.sun_family);
if (::bind(m_sock_fd, (struct sockaddr *)&m_addr, length) < 0) {
- _E("Binding failed for socket(%d)", m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Failed to bind for socket[%d]", m_sock_fd);
close();
return false;
}
socket_mode = ( S_IRWXU | S_IRWXG | S_IRWXO );
if (chmod(sock_path, socket_mode) < 0) {
- _E("chmod failed for socket(%d)", m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Failed to chmod for socket[%d]", m_sock_fd);
close();
return false;
}
}
if (::listen(m_sock_fd, max_connections) < 0) {
- _E("Listening failed for socket(%d)", m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Failed to listen for socket[%d]", m_sock_fd);
close();
return false;
}
} while (err == EINTR);
if (!client_socket.is_valid()) {
- _E("Accept failed for socket(%d)", m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Failed to accept for socket[%d]", m_sock_fd);
return false;
}
} while (err == EINTR);
if (err) {
- _E("send(%d, 0x%x, %d, 0x%x) = %d",
+ _ERRNO(errno, _E, "Failed to send(%d, 0x%x, %d, 0x%x) = %d",
m_sock_fd, buffer, size, m_send_flags, len);
- _ERRNO(errno);
}
return err == 0 ? len : -err;
}
} while (err == EINTR);
- if ((err == EAGAIN) || (err == EWOULDBLOCK))
+ if ((err == EAGAIN) || (err == EWOULDBLOCK)) {
+ _ERRNO(err, _D, "Failed to recv(%d, 0x%x, %d, 0x%x) = %d",
+ m_socket_fd, buffer, size, m_recv_flags, len);
return 0;
+ }
if (err) {
- _E("recv(%d, 0x%x, %d, 0x%x) = %d",
+ _ERRNO(err, _E, "Failed to recv(%d, 0x%x, %d, 0x%x) = %d",
m_sock_fd, buffer, size, m_recv_flags, len);
- _ERRNO(errno);
}
return err == 0 ? len : -err;
total_sent_size += len;
err = 0;
} else {
- _E("send(%d, 0x%p + %d, %d - %d) = %d for %s",
+ _ERRNO(errno, _E, "Failed to send(%d, 0x%p + %d, %d - %d) = %d for %s",
m_sock_fd, buffer, total_sent_size, size, total_sent_size,
len, get_client_name());
- _ERRNO(errno);
if (errno != EINTR) {
err = errno;
err = 1;
break;
} else {
- _E("recv(%d, 0x%p + %d, %d - %d) = %d for %s",
+ _ERRNO(errno, _E, "Failed to recv(%d, 0x%p + %d, %d - %d) = %d for %s",
m_sock_fd, buffer, total_recv_size, size, total_recv_size,
len, get_client_name());
- _ERRNO(errno);
if (errno != EINTR) {
err = errno;
addr_len = strlen(m_addr.sun_path) + sizeof(m_addr.sun_family);
if (::connect(m_sock_fd,(sockaddr *) &m_addr, addr_len) < 0) {
- _E("connect error: sock_fd: %d\n for %s", m_sock_fd, get_client_name());
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Failed to connect sock_fd: %d for %s",
+ m_sock_fd, get_client_name());
return false;
}
ret = select(m_sock_fd + 1, NULL, &write_fds, NULL, &tv);
if (ret == -1) {
- _E("select error: sock_fd: %d\n for %s", m_sock_fd, get_client_name());
- _ERRNO(errno);
+ _ERRNO(errno, _E, "select error: sock_fd: %d\n for %s", m_sock_fd, get_client_name());
close();
return false;
} else if (!ret) {
- _E("select timeout: %d seconds elapsed for %s", tv.tv_sec, get_client_name());
+ _ERRNO(errno, _E, "select timeout: %d seconds elapsed for %s", tv.tv_sec, get_client_name());
close();
return false;
}
if (!FD_ISSET(m_sock_fd, &write_fds)) {
- _E("select failed for %s, nothing to write, m_sock_fd : %d", get_client_name(), m_sock_fd);
+ _ERRNO(errno, _E, "select failed for %s, nothing to write, m_sock_fd : %d", get_client_name(), m_sock_fd);
close();
return false;
}
socklen_t len = sizeof(so_error);
if (getsockopt(m_sock_fd, SOL_SOCKET, SO_ERROR, &so_error, &len) == -1) {
- _E("getsockopt failed for %s, m_sock_fd : %d", get_client_name(), m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "getsockopt failed for %s, m_sock_fd : %d", get_client_name(), m_sock_fd);
close();
return false;
}
if (so_error) {
- _E("SO_ERROR occurred for %s, m_sock_fd : %d, so_error : %d",
+ _ERRNO(errno, _E, "SO_ERROR occurred for %s, m_sock_fd : %d, so_error : %d",
get_client_name(), m_sock_fd, so_error);
close();
return false;
flags = fcntl(m_sock_fd, F_GETFL);
if (flags == -1) {
- _E("fcntl(F_GETFL) failed for %s, m_sock_fd: %d", get_client_name(), m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "fcntl(F_GETFL) failed for %s, m_sock_fd: %d", get_client_name(), m_sock_fd);
return false;
}
flags = fcntl(m_sock_fd, F_SETFL, flags);
if (flags == -1) {
- _E("fcntl(F_SETFL) failed for %s, m_sock_fd: %d", get_client_name(), m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "fcntl(F_SETFL) failed for %s, m_sock_fd: %d", get_client_name(), m_sock_fd);
return false;
}
}
if (getsockopt(m_sock_fd, SOL_SOCKET, SO_TYPE, &sock_type, &opt_len) < 0) {
- _E("getsockopt(SOL_SOCKET, SO_TYPE) failed for %s, m_sock_fd: %d",
+ _ERRNO(errno, _E, "getsockopt(SOL_SOCKET, SO_TYPE) failed for %s, m_sock_fd: %d",
get_client_name(), m_sock_fd);
- _ERRNO(errno);
return false;
}
}
if(setsockopt(m_sock_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) < 0) {
- _E("Set SO_RCVTIMEO failed for %s, m_sock_fd : %d", get_client_name(), m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Set SO_RCVTIMEO failed for %s, m_sock_fd : %d", get_client_name(), m_sock_fd);
close();
return false;
}
flags = fcntl(m_sock_fd, F_GETFL);
if (flags == -1) {
- _E("fcntl(F_GETFL) failed for %s, m_sock_fd: %d", get_client_name(), m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "fcntl(F_GETFL) failed for %s, m_sock_fd: %d", get_client_name(), m_sock_fd);
return false;
}
{
if (m_sock_fd >= 0) {
if (::close(m_sock_fd) < 0) {
- _E("Socket(%d) close failed", m_sock_fd);
- _ERRNO(errno);
+ _ERRNO(errno, _E, "Failed to close socket[%d]", m_sock_fd);
return false;
}
m_sock_fd = -1;