struct inet_addr *addr = peer->addr;
int ret;
- if (!addr)
+ if (!addr) {
+ ul_logerr("No address to connect\n");
return NULL;
+ }
ipeer = forb_malloc(sizeof(*ipeer));
if (!ipeer)
goto err;
ipeer->socket = socket(PF_INET, SOCK_STREAM, 0);
- if (!ipeer->socket)
+ if (!ipeer->socket) {
+ ul_logerr("socket(): %s\n", strerror(errno));
goto err_free;
+ }
sa.sin_family = AF_INET;
sa.sin_port = addr->port;
sa.sin_addr = addr->addr;
ul_logdeb("connect to %s:%u\n", inet_ntoa(sa.sin_addr), ntohs(sa.sin_port));
ret = connect(ipeer->socket, (struct sockaddr*)&sa, sizeof(sa));
- if (ret)
+ if (ret) {
+ ul_logerr("connect error: %s\n", strerror(errno));
goto err_close;
+ }
return ipeer;
err_close:
if (!ipeer) {
ipeer = inet_connect(peer);
- if (!ipeer)
+ if (!ipeer) {
return -1;
+ }
peer->proto_priv = ipeer;
}
sent = 0;
+ ul_logdeb("send fd=%d\n", ipeer->socket);
do {
ret = send(ipeer->socket, buf, len, 0);
- if (ret < 0)
+ if (ret < 0) {
+ ul_logerr("send error: %s\n", strerror(errno));
return ret;
+ }
sent += ret;
buf += ret;
len -= ret;