gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r6323 - GNUnet/doc


From: gnunet
Subject: [GNUnet-SVN] r6323 - GNUnet/doc
Date: Sat, 16 Feb 2008 13:02:37 -0700 (MST)

Author: grothoff
Date: 2008-02-16 13:02:36 -0700 (Sat, 16 Feb 2008)
New Revision: 6323

Added:
   GNUnet/doc/locking.txt
Log:
docu

Added: GNUnet/doc/locking.txt
===================================================================
--- GNUnet/doc/locking.txt                              (rev 0)
+++ GNUnet/doc/locking.txt      2008-02-16 20:02:36 UTC (rev 6323)
@@ -0,0 +1,19 @@
+This is the basic locking strategy for GNUnet:
+
+1) fine-grained individual locks only allowed in modules that are 
+   limited to calls to modules that are strictly higher in the
+   dependency hierarchy.  The hierarchy can only contain modules
+   that do *not* use the global lock or the configuration lock. 
+   The hierarchy of locking should (roughly) correspond to the
+   build order (but is not strictly defined).
+2) the connection global lock is used for everything using
+   more complex locking (whenever two modules call each other
+   while holding locks).  If possible, this should obviously
+   be avoided.  Apps can call core while holding locks as long
+   as the operation is guaranteed to not require more than the
+   core lock (examples include sendToClient, unicast and other
+   "send" opeations).
+3) whenever config is obtained or modified, no locks must be held.
+   Config operations may require getting the global lock after
+   the config lock has been gotten!  This impacts any operation 
+   that gets "cfg" as an argument (especially those in util!).


Property changes on: GNUnet/doc/locking.txt
___________________________________________________________________
Name: svn:eol-style
   + native





reply via email to

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