-lockmanager acquire retry
authorSree Harsha Totakura <totakura@in.tum.de>
Wed, 20 Jun 2012 11:50:31 +0000 (11:50 +0000)
committerSree Harsha Totakura <totakura@in.tum.de>
Wed, 20 Jun 2012 11:50:31 +0000 (11:50 +0000)
src/lockmanager/Makefile.am
src/lockmanager/lockmanager_api.c
src/lockmanager/test_lockmanager_api_acquireretry.c

index 9a672cbef74567e31609c3d800cb134589e183fd..d08d02a85b7ce51752430b39181f482aa1260873 100644 (file)
@@ -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
index 07e0220dd3ac8eae42647e06bf75ad70936a37a7..2d2c75d509e02832e11b04870120487f70f3b643 100644 (file)
@@ -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;
 }
 
index 6f4f1379eaa56739d99986fb988edf39e984a16d..a75476442c16a83cc51d4d3ba68a3633fc533689 100644 (file)
@@ -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);  
 }