GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "accept");
return NULL;
}
+#ifndef MINGW
+ // FIXME NILS
if (0 != fcntl (fd, F_SETFD, fcntl (fd, F_GETFD) | FD_CLOEXEC))
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"fcntl");
+#endif
if (addrlen > sizeof (addr))
{
GNUNET_break (0);
if (aret == GNUNET_NO)
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
_("Access denied to `%s'\n"),
- GNUNET_a2s(uaddr, addrlen));
+ GNUNET_a2s(uaddr, addrlen));
GNUNET_break (0 == SHUTDOWN (fd, SHUT_RDWR));
GNUNET_break (0 == CLOSE (fd));
GNUNET_free (uaddr);
return NULL;
}
+#if DEBUG_NETWORK
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
_("Accepting connection from `%s'\n"),
GNUNET_a2s(uaddr, addrlen));
+#endif
ret = GNUNET_malloc (sizeof (struct GNUNET_NETWORK_SocketHandle) + maxbuf);
ret->write_buffer = (char *) &ret[1];
ret->write_buffer_size = maxbuf;
sock->ai_pos = sock->ai_pos->ai_next;
continue;
}
+#ifndef MINGW
+ // FIXME NILS
if (0 != fcntl (s, F_SETFD, fcntl (s, F_GETFD) | FD_CLOEXEC))
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"fcntl");
+#endif
if (GNUNET_SYSERR == socket_set_blocking (s, GNUNET_NO))
{
/* we'll treat this one as fatal */
GNUNET_break (0 == CLOSE (s));
return GNUNET_SYSERR;
}
+#if DEBUG_NETWORK
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
_("Trying to connect to `%s'\n"),
GNUNET_a2s(sock->ai_pos->ai_addr,
sock->ai_pos->ai_addrlen));
+#endif
if ((0 != CONNECT (s,
sock->ai_pos->ai_addr,
sock->ai_pos->ai_addrlen)) && (errno != EINPROGRESS))
/* maybe refused / unsupported address, try next */
GNUNET_log_strerror (GNUNET_ERROR_TYPE_INFO, "connect");
GNUNET_break (0 == CLOSE (s));
+ sock->ai_pos = sock->ai_pos->ai_next;
continue;
}
break;
}
/* connect succeeded! clean up "ai" */
#if DEBUG_NETWORK
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Connection to `%s' succeeded!\n",
GNUNET_a2s(sock->addr, sock->addrlen));
#endif
GNUNET_ERROR_TYPE_BULK, "socket");
return NULL;
}
+#ifndef MINGW
if (0 != fcntl (s, F_SETFD, fcntl (s, F_GETFD) | FD_CLOEXEC))
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"fcntl");
+#endif
if (GNUNET_SYSERR == socket_set_blocking (s, GNUNET_NO))
{
/* we'll treat this one as fatal */
GNUNET_break (0 == CLOSE (s));
return NULL;
}
+#if DEBUG_NETWORK
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
_("Trying to connect to `%s'\n"),
GNUNET_a2s(serv_addr, addrlen));
+#endif
if ((0 != CONNECT (s, serv_addr, addrlen)) && (errno != EINPROGRESS))
{
/* maybe refused / unsupported address, try next */
}
}
if (sock->sock != -1)
- GNUNET_break (0 == CLOSE (sock->sock));
+ GNUNET_break (0 == CLOSE (sock->sock));
GNUNET_free_non_null (sock->addr);
if (sock->ai != NULL)
freeaddrinfo (sock->ai);
}
GNUNET_assert (FD_ISSET (sh->sock, tc->read_ready));
RETRY:
- ret = RECV (sh->sock, buffer, sh->max, MSG_DONTWAIT);
+ ret = RECV (sh->sock, buffer, sh->max,
+#ifndef MINGW
+ // FIXME MINGW
+ MSG_DONTWAIT
+#else
+ 0
+#endif
+ );
if (ret == -1)
{
if (errno == EINTR)
#if DEBUG_NETWORK
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"receive_ready read %u/%u bytes from `%s'!\n",
- (unsigned int) ret,
+ (unsigned int) ret,
sh->max,
GNUNET_a2s(sh->addr, sh->addrlen));
#endif
GNUNET_TIME_absolute_get_remaining
(sh->receive_timeout),
sh->sock, &receive_ready,
- sh);
+ sh);
}
}
if (sock->sock == -1)
{
+#if DEBUG_NETWORK
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
_("Could not satisfy pending transmission request, socket closed or connect failed.\n"));
+#endif
transmit_error (sock);
return; /* connect failed for good, we're finished */
}
RETRY:
ret = SEND (sock->sock,
&sock->write_buffer[sock->write_buffer_pos],
- have, MSG_DONTWAIT | MSG_NOSIGNAL);
+ have,
+#ifndef MINGW
+ // FIXME NILS
+ MSG_DONTWAIT | MSG_NOSIGNAL
+#else
+ 0
+#endif
+ );
if (ret == -1)
{
if (errno == EINTR)