diff options
author | Rodrigo Kumpera <kumpera@gmail.com> | 2009-02-12 03:13:20 +0300 |
---|---|---|
committer | Rodrigo Kumpera <kumpera@gmail.com> | 2009-02-12 03:13:20 +0300 |
commit | 122601004c427fa2da2c0878403100c303b9d7bc (patch) | |
tree | 9e9fdb5214ad58f26862644299da99c339ec9248 /docs | |
parent | 74a25c8a2b270495f73a2fb2df9420db72a5d1a7 (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/ChangeLog | 4 | ||||
-rw-r--r-- | docs/thread-safety.txt | 11 |
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, |