[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6323 - GNUnet/doc,
gnunet <=