[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r24641 - gnunet/src/testing
From: |
gnunet |
Subject: |
[GNUnet-SVN] r24641 - gnunet/src/testing |
Date: |
Wed, 31 Oct 2012 22:13:33 +0100 |
Author: harsha
Date: 2012-10-31 22:13:32 +0100 (Wed, 31 Oct 2012)
New Revision: 24641
Modified:
gnunet/src/testing/testing.c
Log:
check all available addresses
Modified: gnunet/src/testing/testing.c
===================================================================
--- gnunet/src/testing/testing.c 2012-10-31 20:36:50 UTC (rev 24640)
+++ gnunet/src/testing/testing.c 2012-10-31 21:13:32 UTC (rev 24641)
@@ -363,6 +363,7 @@
struct GNUNET_NETWORK_Handle *socket;
struct addrinfo hint;
struct addrinfo *ret;
+ struct addrinfo *ai;
uint32_t *port_buckets;
char *open_port_str;
int bind_status;
@@ -409,19 +410,23 @@
GNUNET_asprintf (&open_port_str, "%u", (unsigned int) open_port);
ret = NULL;
GNUNET_assert (0 == getaddrinfo (NULL, open_port_str, &hint, &ret));
- GNUNET_free (open_port_str);
- socket = GNUNET_NETWORK_socket_create (ret->ai_family,
- (GNUNET_YES == is_tcp) ?
- SOCK_STREAM : SOCK_DGRAM,
- 0);
- GNUNET_assert (NULL != socket);
- bind_status = GNUNET_NETWORK_socket_bind (socket,
- ret->ai_addr,
- ret->ai_addrlen);
+ GNUNET_free (open_port_str);
+ for (ai = ret; NULL != ai; ai = ai->ai_next)
+ {
+ socket = GNUNET_NETWORK_socket_create (ai->ai_family,
+ (GNUNET_YES == is_tcp) ?
+ SOCK_STREAM : SOCK_DGRAM,
+ 0);
+ GNUNET_assert (NULL != socket);
+ bind_status = GNUNET_NETWORK_socket_bind (socket,
+ ai->ai_addr,
+ ai->ai_addrlen);
+ GNUNET_NETWORK_socket_close (socket);
+ if (GNUNET_OK != bind_status)
+ break;
+ }
+ port_buckets[index] |= (1U << pos); /* Set the port bit */
freeaddrinfo (ret);
- GNUNET_NETWORK_socket_close (socket);
- socket = NULL;
- port_buckets[index] |= (1U << pos); /* Set the port bit */
if (GNUNET_OK == bind_status)
{
LOG (GNUNET_ERROR_TYPE_DEBUG,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r24641 - gnunet/src/testing,
gnunet <=