From 5f04741b183bc0f4420676661f6b23b24ee683c4 Mon Sep 17 00:00:00 2001 From: Sree Harsha Totakura Date: Wed, 20 Jun 2012 11:50:31 +0000 Subject: [PATCH] -lockmanager acquire retry --- src/lockmanager/Makefile.am | 11 +++++++++-- src/lockmanager/lockmanager_api.c | 6 +++--- src/lockmanager/test_lockmanager_api_acquireretry.c | 10 ++++------ 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/lockmanager/Makefile.am b/src/lockmanager/Makefile.am index 9a672cbef..d08d02a85 100644 --- a/src/lockmanager/Makefile.am +++ b/src/lockmanager/Makefile.am @@ -41,13 +41,14 @@ libgnunetlockmanager_la_LDFLAGS = \ check_PROGRAMS = \ test_lockmanager_api \ test_lockmanager_api_lockrelease \ - test_lockmanager_api_servercrash + test_lockmanager_api_servercrash \ + test_lockmanager_api_acquireretry EXTRA_DIST = \ test_lockmanager_api.conf if ENABLE_TEST_RUN -TESTS = $(check_PROGRAMS) + TESTS = $(check_PROGRAMS) endif test_lockmanager_api_SOURCES = \ @@ -67,3 +68,9 @@ test_lockmanager_api_servercrash_SOURCES = \ test_lockmanager_api_servercrash_LDADD = \ $(top_builddir)/src/util/libgnunetutil.la \ libgnunetlockmanager.la + +test_lockmanager_api_acquireretry_SOURCES = \ + test_lockmanager_api_acquireretry.c +test_lockmanager_api_acquireretry_LDADD = \ + $(top_builddir)/src/util/libgnunetutil.la \ + libgnunetlockmanager.la \ No newline at end of file diff --git a/src/lockmanager/lockmanager_api.c b/src/lockmanager/lockmanager_api.c index 07e0220dd..2d2c75d50 100644 --- a/src/lockmanager/lockmanager_api.c +++ b/src/lockmanager/lockmanager_api.c @@ -418,6 +418,8 @@ release_n_retry_iterator (void *cls, struct GNUNET_LOCKMANAGER_Handle *h = cls; struct GNUNET_LOCKMANAGER_Message *msg; + msg = generate_acquire_msg (r->domain, r->lock); + queue_message (h, msg); if (GNUNET_LOCKMANAGER_RELEASE == r->status) return GNUNET_YES; if (NULL != r->status_cb) @@ -429,10 +431,8 @@ release_n_retry_iterator (void *cls, r->status_cb (r->status_cb_cls, r->domain, r->lock, - GNUNET_LOCKMANAGER_RELEASE); + GNUNET_LOCKMANAGER_RELEASE); } - msg = generate_acquire_msg (r->domain, r->lock); - queue_message (h, msg); return GNUNET_YES; } diff --git a/src/lockmanager/test_lockmanager_api_acquireretry.c b/src/lockmanager/test_lockmanager_api_acquireretry.c index 6f4f1379e..a75476442 100644 --- a/src/lockmanager/test_lockmanager_api_acquireretry.c +++ b/src/lockmanager/test_lockmanager_api_acquireretry.c @@ -56,7 +56,7 @@ enum Test /** * Client has successfully acquired the lock */ - TEST_CLIENT_LOCK_SUCESS, + TEST_CLIENT_LOCK_SUCCESS, /** * Client has lost the lock @@ -77,7 +77,7 @@ static struct GNUNET_OS_Process *arm_pid = NULL; /** * Configuration Handle */ -static struct GNUNET_CONFIGURATION_Handle *config; +static const struct GNUNET_CONFIGURATION_Handle *config; /** * The handle to the lockmanager service @@ -126,8 +126,6 @@ do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) GNUNET_OS_process_wait (arm_pid); GNUNET_OS_process_destroy (arm_pid); } - if (NULL != config) - GNUNET_CONFIGURATION_destroy (config); } /** @@ -195,7 +193,7 @@ status_cb (void *cls, GNUNET_assert (NULL != arm_pid); break; case TEST_CLIENT_LOCK_RELEASE: - GNUNET_asset (handle == cls); + GNUNET_assert (handle == cls); GNUNET_assert (GNUNET_LOCKMANAGER_SUCCESS == status); result = TEST_CLIENT_LOCK_AGAIN_SUCCESS; GNUNET_LOCKMANAGER_cancel_request (request); @@ -226,7 +224,7 @@ test (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) &status_cb, handle); GNUNET_assert (NULL != request); - abort_task_id = GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS (10), + abort_task_id = GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS (30), &do_abort, NULL); } -- 2.25.1