[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r254 - in GNUnet/src: applications/fs/ecrs applications/fs/
From: |
grothoff |
Subject: |
[GNUnet-SVN] r254 - in GNUnet/src: applications/fs/ecrs applications/fs/lib applications/fs/tools include |
Date: |
Sat, 12 Feb 2005 23:33:54 -0800 (PST) |
Author: grothoff
Date: 2005-02-12 23:33:54 -0800 (Sat, 12 Feb 2005)
New Revision: 254
Modified:
GNUnet/src/applications/fs/ecrs/download.c
GNUnet/src/applications/fs/ecrs/search.c
GNUnet/src/applications/fs/lib/fslib.c
GNUnet/src/applications/fs/tools/gnunet-download.c
GNUnet/src/include/gnunet_fs_lib.h
Log:
bugfixes
Modified: GNUnet/src/applications/fs/ecrs/download.c
===================================================================
--- GNUnet/src/applications/fs/ecrs/download.c 2005-02-13 06:09:48 UTC (rev
253)
+++ GNUnet/src/applications/fs/ecrs/download.c 2005-02-13 07:33:54 UTC (rev
254)
@@ -401,12 +401,12 @@
RequestManager * rm;
rm = MALLOC(sizeof(RequestManager));
- rm->sctx = FS_SEARCH_makeContext();
rm->abortFlag
= NO;
rm->lastDET
= 0;
MUTEX_CREATE_RECURSIVE(&rm->lock);
+ rm->sctx = FS_SEARCH_makeContext(&rm->lock);
rm->requestListIndex
= 0;
rm->requestListSize
@@ -828,7 +828,7 @@
node);
size -= sizeof(DBlock);
data = MALLOC(size);
- if (SYSERR == decryptContent((char*)&reply[1],
+ if (SYSERR == decryptContent((char*)&((DBlock*)&reply[1])[1],
size,
&node->chk.key,
data))
@@ -874,7 +874,6 @@
requestManagerEndgame(node->ctx->rm);
}
}
- FREE(node);
FREE(data);
return OK;
}
Modified: GNUnet/src/applications/fs/ecrs/search.c
===================================================================
--- GNUnet/src/applications/fs/ecrs/search.c 2005-02-13 06:09:48 UTC (rev
253)
+++ GNUnet/src/applications/fs/ecrs/search.c 2005-02-13 07:33:54 UTC (rev
254)
@@ -483,14 +483,14 @@
cron_t new_ttl;
unsigned int new_priority;
- ctx.sctx = FS_SEARCH_makeContext();
cronTime(&ctx.start);
ctx.timeout = timeout;
ctx.queryCount = 0;
ctx.queries = NULL;
ctx.spcb = spcb;
ctx.spcbClosure = spcbClosure;
- MUTEX_CREATE(&ctx.lock);
+ MUTEX_CREATE_RECURSIVE(&ctx.lock);
+ ctx.sctx = FS_SEARCH_makeContext(&ctx.lock);
addQueryForURI(uri,
&ctx);
cronTime(&now);
Modified: GNUnet/src/applications/fs/lib/fslib.c
===================================================================
--- GNUnet/src/applications/fs/lib/fslib.c 2005-02-13 06:09:48 UTC (rev
253)
+++ GNUnet/src/applications/fs/lib/fslib.c 2005-02-13 07:33:54 UTC (rev
254)
@@ -38,7 +38,7 @@
typedef struct FS_SEARCH_CONTEXT {
GNUNET_TCP_SOCKET * sock;
PTHREAD_T thread;
- Mutex lock;
+ Mutex * lock;
SEARCH_HANDLE ** handles;
unsigned int handleCount;
unsigned int handleSize;
@@ -81,7 +81,7 @@
FREE(hdr);
continue;
}
- MUTEX_LOCK(&ctx->lock);
+ MUTEX_LOCK(ctx->lock);
for (i=ctx->handleCount-1;i>=0;i--) {
if (equalsHashCode160(&query,
&ctx->handles[i]->req->query[0])) {
@@ -103,7 +103,7 @@
FREE(value);
}
}
- MUTEX_UNLOCK(&ctx->lock);
+ MUTEX_UNLOCK(ctx->lock);
} else {
gnunet_util_sleep(delay);
delay *= 2;
@@ -115,10 +115,10 @@
return NULL;
}
-SEARCH_CONTEXT * FS_SEARCH_makeContext() {
+SEARCH_CONTEXT * FS_SEARCH_makeContext(Mutex * lock) {
SEARCH_CONTEXT * ret;
ret = MALLOC(sizeof(SEARCH_CONTEXT));
- MUTEX_CREATE_RECURSIVE(&ret->lock);
+ ret->lock = lock;
ret->sock = getClientSocket();
ret->handles = NULL;
ret->handleCount = 0;
@@ -140,7 +140,7 @@
closeSocketTemporarily(ctx->sock);
PTHREAD_JOIN(&ctx->thread,
&unused);
- MUTEX_DESTROY(&ctx->lock);
+ ctx->lock = NULL;
releaseClientSocket(ctx->sock);
GROW(ctx->handles,
ctx->handleSize,
@@ -185,14 +185,14 @@
ret->req = req;
ret->callback = callback;
ret->closure = closure;
- MUTEX_LOCK(&ctx->lock);
+ MUTEX_LOCK(ctx->lock);
if (ctx->handleCount == ctx->handleSize) {
GROW(ctx->handles,
ctx->handleSize,
ctx->handleSize * 2 + 4);
}
ctx->handles[ctx->handleCount++] = ret;
- MUTEX_UNLOCK(&ctx->lock);
+ MUTEX_UNLOCK(ctx->lock);
IFLOG(LOG_DEBUG,
hash2enc(&req->query[0],
&enc));
@@ -219,13 +219,13 @@
handle->req->header.type = htons(AFS_CS_PROTO_QUERY_STOP);
writeToSocket(ctx->sock,
&handle->req->header);
- MUTEX_LOCK(&ctx->lock);
+ MUTEX_LOCK(ctx->lock);
for (i=ctx->handleCount-1;i>=0;i--)
if (ctx->handles[i] == handle) {
ctx->handles[i] = ctx->handles[--ctx->handleCount];
break;
}
- MUTEX_UNLOCK(&ctx->lock);
+ MUTEX_UNLOCK(ctx->lock);
FREE(handle->req);
FREE(handle);
}
Modified: GNUnet/src/applications/fs/tools/gnunet-download.c
===================================================================
--- GNUnet/src/applications/fs/tools/gnunet-download.c 2005-02-13 06:09:48 UTC
(rev 253)
+++ GNUnet/src/applications/fs/tools/gnunet-download.c 2005-02-13 07:33:54 UTC
(rev 254)
@@ -232,7 +232,7 @@
filename);
try_rename = YES;
}
-
+ FREE(fstring);
signalFinished = SEMAPHORE_NEW(0);
ctx = FSUI_start(&progressModel,
&ok);
@@ -266,6 +266,7 @@
}
}
FREE(filename);
+ ECRS_freeUri(uri);
stopCron();
doneUtil();
Modified: GNUnet/src/include/gnunet_fs_lib.h
===================================================================
--- GNUnet/src/include/gnunet_fs_lib.h 2005-02-13 06:09:48 UTC (rev 253)
+++ GNUnet/src/include/gnunet_fs_lib.h 2005-02-13 07:33:54 UTC (rev 254)
@@ -35,7 +35,7 @@
struct FS_SEARCH_CONTEXT;
-struct FS_SEARCH_CONTEXT * FS_SEARCH_makeContext();
+struct FS_SEARCH_CONTEXT * FS_SEARCH_makeContext(Mutex * lock);
void FS_SEARCH_destroyContext(struct FS_SEARCH_CONTEXT * ctx);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r254 - in GNUnet/src: applications/fs/ecrs applications/fs/lib applications/fs/tools include,
grothoff <=