* Mixed consumer with consumerRef to identify the cache in the consumer list;

this fixes bug #227 again (which I recently opened again accidently).
* We actually switched the last consumer's source without having acquired its
  lock! This fixes some rare random app crashes as well as potential kernel
  crash ("cache to be deleted still has consumers").
* Some more comments to explain why things are done and can be done the way they
  are done :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19878 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2007-01-20 12:49:44 +00:00
parent a9ab9d2c21
commit 6a50382249
2 changed files with 31 additions and 22 deletions
+1 -1
View File
@@ -92,7 +92,7 @@ typedef struct vm_area {
uint32 protection;
uint16 wiring;
uint16 memory_type;
int32 ref_count;
vint32 ref_count;
struct vm_cache_ref *cache_ref;
off_t cache_offset;