/[rtmk]/rtmk/vm-object.c
ViewVC logotype

Diff of /rtmk/vm-object.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by jrydberg, Wed Feb 6 19:57:00 2002 UTC revision 1.3 by jrydberg, Wed Feb 20 20:04:42 2002 UTC
# Line 66  vm_object_reference (struct vm_object *o Line 66  vm_object_reference (struct vm_object *o
66  void  void
67  vm_object_destroy (struct vm_object *object)  vm_object_destroy (struct vm_object *object)
68  {  {
69      struct vm_page *page;
70    
71    if (--object->refcnt != 0)    if (--object->refcnt != 0)
72      return;      return;
73    
74      /* If we are a shadow object (ie if we're a COW object
75         for another object) we have to release reference to it.  */
76    
77      if (object->shadow_object)
78        vm_object_destroy (object->shadow_object);
79    
80      /* Iterate through all pages of object and release them.  */
81      queue_iterate (& object->pageq, page, struct vm_page *, pageq)
82        {
83          vm_page_remove (page);
84          vm_page_release (page);
85        }
86    
87    kmem_cache_free (object_cache, object);    kmem_cache_free (object_cache, object);
88  }  }
89    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26