Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRodrigo Kumpera <kumpera@gmail.com>2009-02-12 03:13:20 +0300
committerRodrigo Kumpera <kumpera@gmail.com>2009-02-12 03:13:20 +0300
commit122601004c427fa2da2c0878403100c303b9d7bc (patch)
tree9e9fdb5214ad58f26862644299da99c339ec9248 /docs
parent74a25c8a2b270495f73a2fb2df9420db72a5d1a7 (diff)
In .:
2009-02-11 Rodrigo Kumpera <rkumpera@novell.com> * thread-safety.txt: Document the new image lock. svn path=/trunk/mono/; revision=126667
Diffstat (limited to 'docs')
-rw-r--r--docs/ChangeLog4
-rw-r--r--docs/thread-safety.txt11
2 files changed, 13 insertions, 2 deletions
diff --git a/docs/ChangeLog b/docs/ChangeLog
index 7241365952e..87ccf5c1f39 100644
--- a/docs/ChangeLog
+++ b/docs/ChangeLog
@@ -1,3 +1,7 @@
+2009-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * thread-safety.txt: Document the new image lock.
+
2008-12-12 Mark Probst <mark.probst@gmail.com>
* mini-porting.txt: Added some details about function descriptors
diff --git a/docs/thread-safety.txt b/docs/thread-safety.txt
index 4edf1cd699c..b2906050694 100644
--- a/docs/thread-safety.txt
+++ b/docs/thread-safety.txt
@@ -15,7 +15,7 @@ There are three kinds of threads with regards to read-only data:
Most threads are readers.
-- synchronization between readers is not neccesary
+- synchronization between readers is not necessary
- synchronization between the writers is done using locks.
- synchronization between the readers and the creator is done by not exposing
the data to readers before it is fully constructed.
@@ -50,7 +50,14 @@ protects the various caches inside MonoImage which are used by these modules.
Each appdomain has a lock which protects the per-domain data structures.
-1.3.4 The locking hierarchy
+1.3.4 The image lock
+--------------------
+
+Each MonoImage has a lock which protects the per-image data structures and memory pool. This lock must only
+be held while manipulating such structures and no call to any function besides that should be made. In special,
+no other runtime lock should be acquired while holding an image lock.
+
+1.3.5 The locking hierarchy
---------------------------
It is useful to model locks by a locking hierarchy, which is a relation between locks, which is reflexive, transitive,