[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r14291 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r14291 - gnunet/src/util |
Date: |
Mon, 31 Jan 2011 12:22:23 +0100 |
Author: nevans
Date: 2011-01-31 12:22:23 +0100 (Mon, 31 Jan 2011)
New Revision: 14291
Modified:
gnunet/src/util/client.c
gnunet/src/util/connection.c
Log:
Fix for unixpath/arm bug
Modified: gnunet/src/util/client.c
===================================================================
--- gnunet/src/util/client.c 2011-01-31 10:37:52 UTC (rev 14290)
+++ gnunet/src/util/client.c 2011-01-31 11:22:23 UTC (rev 14291)
@@ -43,7 +43,9 @@
*/
#define MAX_ATTEMPTS 50
+#define UNIXPATH_RETRIES 0
+
/**
* Handle for a transmission request.
*/
@@ -271,7 +273,9 @@
char *hostname;
char *unixpath;
unsigned long long port;
+ unsigned int count;
+ sock = NULL;
#if AF_UNIX
if (0 == (attempt % 2))
{
@@ -280,13 +284,28 @@
GNUNET_CONFIGURATION_get_value_string (cfg,
service_name,
"UNIXPATH", &unixpath)) &&
- (0 < strlen (unixpath)))
+ (0 < strlen (unixpath))) /* We have a non-NULL unixpath, does that
mean it's valid? */
{
- sock = GNUNET_CONNECTION_create_from_connect_to_unixpath (cfg,
- unixpath);
+ count = 0;
+ sock = GNUNET_CONNECTION_create_from_connect_to_unixpath (cfg,
unixpath);
+ while ((NULL == sock) && (count < UNIXPATH_RETRIES))
+ {
+#if DEBUG_CLIENT
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Failed to connect to
unixpath `%s', retrying!\n", unixpath);
+#endif
+ count++;
+ sleep(1);
+ sock = GNUNET_CONNECTION_create_from_connect_to_unixpath (cfg,
unixpath);
+ }
+
GNUNET_free (unixpath);
if (sock != NULL)
- return sock;
+ {
+#if DEBUG_CLIENT
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Connected to unixpath
`%s'!\n", unixpath);
+#endif
+ return sock;
+ }
}
}
#endif
@@ -332,12 +351,16 @@
unixpath);
GNUNET_free (unixpath);
if (sock != NULL)
- return sock;
+ {
+ return sock;
+ }
}
}
#endif
+ GNUNET_log(GNUNET_ERROR_TYPE_WARNING, "Port is 0 for service `%s',
unixpath didn't work, returning NULL(!)!\n", service_name);
return NULL;
}
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Creating from connect!\n");
sock = GNUNET_CONNECTION_create_from_connect (cfg,
hostname,
port);
@@ -480,6 +503,9 @@
if ((available == 0) || (conn->sock == NULL) || (errCode != 0))
{
/* signal timeout! */
+#if DEBUG_CLIENT
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "timeout in receive_helper,
available %d, conn->sock %s, errCode %d\n", available, conn->sock == NULL ?
"NULL" : "non-NULL", errCode);
+#endif
if (NULL != (receive_handler = conn->receiver_handler))
{
receive_handler_cls = conn->receiver_handler_cls;
@@ -586,6 +612,9 @@
{
GNUNET_assert (sock->in_receive == GNUNET_NO);
sock->in_receive = GNUNET_YES;
+#if DEBUG_CLIENT
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "calling
GNUNET_CONNECTION_receive\n");
+#endif
GNUNET_CONNECTION_receive (sock->sock,
GNUNET_SERVER_MAX_MESSAGE_SIZE - 1,
timeout, &receive_helper, sock);
Modified: gnunet/src/util/connection.c
===================================================================
--- gnunet/src/util/connection.c 2011-01-31 10:37:52 UTC (rev 14290)
+++ gnunet/src/util/connection.c 2011-01-31 11:22:23 UTC (rev 14291)
@@ -41,7 +41,9 @@
#define DEBUG_CONNECTION GNUNET_NO
+#define HARD_FAIL GNUNET_NO
+
/**
* Possible functions to call after connect failed or succeeded.
*/
@@ -965,14 +967,16 @@
ret->addr,
ret->addrlen))
{
- /* Just return; we expect everything to work eventually so don't fail
HARD */
- return ret;
#if HARD_FAIL
GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (ret->sock));
GNUNET_free (ret->addr);
GNUNET_free (ret->write_buffer);
GNUNET_free (ret);
return NULL;
+#else /* Just return; we expect everything to work eventually so don't fail
HARD */
+ GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (ret->sock));
+ ret->sock = NULL;
+ return ret;
#endif
}
connect_success_continuation (ret);
@@ -1415,7 +1419,9 @@
{
struct GNUNET_CONNECTION_Handle *sock = cls;
GNUNET_CONNECTION_TransmitReadyNotify notify;
-
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Transmission request of size %u fails, connection failed
(%p).\n",
+ sock->nth.notify_size, sock);
#if DEBUG_CONNECTION
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Transmission request of size %u fails, connection failed
(%p).\n",
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r14291 - gnunet/src/util,
gnunet <=