[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r4006 - GNUnet/src/util/network_client
From: |
grothoff |
Subject: |
[GNUnet-SVN] r4006 - GNUnet/src/util/network_client |
Date: |
Thu, 21 Dec 2006 18:15:53 -0800 (PST) |
Author: grothoff
Date: 2006-12-21 18:15:51 -0800 (Thu, 21 Dec 2006)
New Revision: 4006
Modified:
GNUnet/src/util/network_client/tcpio.c
Log:
race
Modified: GNUnet/src/util/network_client/tcpio.c
===================================================================
--- GNUnet/src/util/network_client/tcpio.c 2006-12-22 02:05:44 UTC (rev
4005)
+++ GNUnet/src/util/network_client/tcpio.c 2006-12-22 02:15:51 UTC (rev
4006)
@@ -314,10 +314,13 @@
size_t sent;
int res;
- if (SYSERR == connection_ensure_connected(sock))
+ MUTEX_LOCK(sock->writelock);
+ if (SYSERR == connection_ensure_connected(sock)) {
+ MUTEX_UNLOCK(sock->writelock);
return SYSERR;
+ }
+ GE_ASSERT(NULL, sock->sock != NULL);
size = ntohs(buffer->size);
- MUTEX_LOCK(sock->writelock);
res = socket_send(sock->sock,
NC_Complete,
buffer,
@@ -341,10 +344,12 @@
unsigned short size;
RETURN_ERROR_MESSAGE * rem;
- if (OK != connection_ensure_connected(sock))
+ MUTEX_LOCK(sock->readlock);
+ if (OK != connection_ensure_connected(sock)) {
+ MUTEX_UNLOCK(sock->readlock);
return SYSERR;
-
- MUTEX_LOCK(sock->readlock);
+ }
+ GE_ASSERT(NULL, sock->sock != NULL);
while (1) {
pos = 0;
res = 0;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r4006 - GNUnet/src/util/network_client,
grothoff <=