gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r21378 - gnunet/src/lockmanager


From: gnunet
Subject: [GNUnet-SVN] r21378 - gnunet/src/lockmanager
Date: Wed, 9 May 2012 14:25:27 +0200

Author: grothoff
Date: 2012-05-09 14:25:27 +0200 (Wed, 09 May 2012)
New Revision: 21378

Modified:
   gnunet/src/lockmanager/gnunet-service-lockmanager.c
Log:
-stylistic fixes

Modified: gnunet/src/lockmanager/gnunet-service-lockmanager.c
===================================================================
--- gnunet/src/lockmanager/gnunet-service-lockmanager.c 2012-05-09 12:12:23 UTC 
(rev 21377)
+++ gnunet/src/lockmanager/gnunet-service-lockmanager.c 2012-05-09 12:25:27 UTC 
(rev 21378)
@@ -33,7 +33,6 @@
 
 #include "lockmanager.h"
 
-#define VERBOSE GNUNET_YES
 
 #define LOG(kind,...) \
   GNUNET_log (kind, __VA_ARGS__)
@@ -45,6 +44,12 @@
 
 
 /**
+ * Doubly linked list of clients having connections to us
+ */
+struct ClientList;
+
+
+/**
  * Doubly linked list of clients waiting for a lock
  */
 struct WaitList
@@ -161,30 +166,18 @@
  *         it will be the last element in the locks list
  * @return GNUNET_YES if a matching lock is present in lock_list; GNUNET_NO if 
not
  */
-static int
+static struct LockList *
 ll_find_lock (const char *domain_name,
-              const uint32_t lock_num,
-              struct LockList **ret)
+              const uint32_t lock_num)
+              
 {
   struct LockList *current_lock;
-
-  current_lock = ll_head;
   
-  while (NULL != current_lock)
-    {
-      if ( (0 == strcmp (domain_name, current_lock->domain_name))
-           && (lock_num == current_lock->lock_num))
-        {
-          if (NULL != ret)
-            *ret = current_lock;
-          return GNUNET_YES;
-        }
-
-      current_lock = current_lock->next;
-    }
-  if (NULL != ret)
-    *ret = current_lock;
-  return GNUNET_NO;
+  for (current_lock = ll_head; NULL != current_lock; current_lock = 
current_lock->next)    
+    if ( (lock_num == current_lock->lock_num) &&
+        (0 == strcmp (domain_name, current_lock->domain_name)) )
+      return current_lock;
+  return NULL;
 }
 
 
@@ -197,28 +190,15 @@
  *         it will be the last element in the locks list
  * @return GNUNET_YES if a matching lock is present in lock_list; GNUNET_NO if 
not
  */
-static int
-ll_find_lock_by_owner (const struct GNUNET_SERVER_Client *client,
-                       struct LockList **ret)
+static struct LockList *
+ll_find_lock_by_owner (const struct GNUNET_SERVER_Client *client)
 {
   struct LockList *current_lock;
 
-  current_lock = ll_head;
-  
-  while (NULL != current_lock)
-    {
-      if (client == current_lock->client)
-        {
-          if (NULL != ret)
-            *ret = current_lock;
-          return GNUNET_YES;
-        }
-
-      current_lock = current_lock->next;
-    }
-  if (NULL != ret)
-    *ret = current_lock;
-  return GNUNET_NO;
+  for (current_lock = ll_head; NULL != current_lock; current_lock = 
current_lock->next)
+    if (client == current_lock->client)
+      return current_lock;
+  return NULL;
 }
 
 
@@ -346,7 +326,6 @@
   GNUNET_CONTAINER_DLL_remove (lock->wait_list_head,
                                lock->wait_list_tail,
                                wl_client);
-
   GNUNET_free (wl_client);
 }
 
@@ -359,29 +338,15 @@
  *          else to the tail of the client list
  * @return GNUNET_YES if the client is present; GNUNET_NO if not
  */
-static int
-cl_find_client (const struct GNUNET_SERVER_Client *client,
-                struct ClientList **ret)
+static struct ClientList *
+cl_find_client (const struct GNUNET_SERVER_Client *client)                
 {
   struct ClientList *current;
 
-  current = cl_head;
-
-  while (NULL != current)
-    {
+  for (current = cl_head; NULL != current; current = current->next)
       if (client == current->client)
-        {
-          if (NULL != ret) 
-            *ret = current;
-          return GNUNET_YES;
-        }
-
-      current = current->next;
-    }
-  
-  if (NULL != ret)
-    *ret = current;
-  return GNUNET_NO;
+        return current;
+  return NULL;
 }
 
 
@@ -501,24 +466,18 @@
   const char *domain_name;
   struct LockList *ll_entry;
   uint32_t lock_num;
-  
 
   LOG (GNUNET_ERROR_TYPE_DEBUG,
        "Received an ACQUIRE message\n");
-
-
   /* Check if the client is in client list */
-  if (GNUNET_NO == cl_find_client (client, NULL))
-    {
-      cl_add_client (client);
-    }
+  if (NULL == cl_find_client (client))
+    cl_add_client (client);    
   
   request = (struct GNUNET_LOCKMANAGER_Message *) message;
   lock_num = ntohl (request->lock);
   domain_name = (char *) &request[1];
-  if (GNUNET_YES == ll_find_lock (domain_name,
-                                  lock_num,
-                                  &ll_entry))
+  if (NULL != (ll_entry = ll_find_lock (domain_name,
+                                       lock_num)))
     {/* Add client to the lock's wait list */
       ll_wl_add_client (ll_entry, client);
     }
@@ -555,7 +514,7 @@
     {
       ll_wl_remove_client(ll_entry, wl_entry);
 
-      if (GNUNET_NO == cl_find_client (wl_entry->client, NULL))
+      if (NULL == cl_find_client (wl_entry->client))
         {
           LOG (GNUNET_ERROR_TYPE_DEBUG,
                "Removing disconnected client from wait list\n");
@@ -601,7 +560,7 @@
        "Received a RELEASE message on lock with num: %d, domain: %s\n",
        lock_num, domain_name);
   GNUNET_SERVER_receive_done (client, GNUNET_OK);
-  if (GNUNET_YES == ll_find_lock (domain_name, lock_num, &ll_entry))
+  if (NULL != (ll_entry = ll_find_lock (domain_name, lock_num)))
     {
       if (client != ll_entry->client)
         {
@@ -612,8 +571,8 @@
     }
   else
     {
-      LOG (GNUNET_ERROR_TYPE_DEBUG,
-           "\t give lock doesn't exist\n");
+      LOG (GNUNET_ERROR_TYPE_WARNING,
+           _("Client tried to release lock that it doesn't exist\n"));
     }
 }
 
@@ -628,21 +587,16 @@
 client_disconnect_cb (void *cls, struct GNUNET_SERVER_Client *client)
 {
   struct ClientList *cl_entry;
+  struct LockList *ll_entry;
 
   LOG (GNUNET_ERROR_TYPE_DEBUG,
-       "A client has been disconnected -- freeing its locks and resources\n");
-  
-  if (GNUNET_YES == cl_find_client (client, &cl_entry))
-    {
-      struct LockList *ll_entry;
-      
-      cl_remove_client (cl_entry);
-      while (GNUNET_YES == ll_find_lock_by_owner (client, &ll_entry))
-        {
-          process_lock_release (ll_entry);
-        }
-    }
-  else GNUNET_break (0);
+       "A client has been disconnected -- freeing its locks and resources\n"); 
+  cl_entry = cl_find_client (client);
+  if (NULL == cl_entry)
+    return;
+  cl_remove_client (cl_entry);
+  while (NULL != (ll_entry = ll_find_lock_by_owner (client)))
+    process_lock_release (ll_entry); 
 }
 
 
@@ -664,34 +618,20 @@
       {&handle_release, NULL, GNUNET_MESSAGE_TYPE_LOCKMANAGER_RELEASE, 0},
       {NULL}
     };
-  
-  LOG (GNUNET_ERROR_TYPE_DEBUG, "Starting lockmanager\n");
   GNUNET_SERVER_add_handlers (server,
                               message_handlers);
   GNUNET_SERVER_disconnect_notify (server,
                                    &client_disconnect_cb,
-                                   NULL);
-                                   
-  
+                                   NULL);                                    
 }
 
+
 /**
  * The starting point of execution
  */
 int main (int argc, char *const *argv)
 {
-  int ret;
-  
-  GNUNET_log_setup ("lockmanager",
-#if VERBOSE
-                    "DEBUG",
-#else
-                    "WARNING",
-#endif
-                    NULL);
-
-  LOG (GNUNET_ERROR_TYPE_DEBUG, "main()\n");
-  ret = 
+  return
     (GNUNET_OK ==
      GNUNET_SERVICE_run (argc,
                          argv,
@@ -699,6 +639,4 @@
                          GNUNET_SERVICE_OPTION_NONE,
                          &lockmanager_run,
                          NULL)) ? 0 : 1;
-  LOG (GNUNET_ERROR_TYPE_DEBUG, "main() END\n");
-  return ret;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]