void vfs_close ( struct vfsref vr  ) 

Decrease the reference count of the entity and deallocate the entity when no references are left. The reference itself is also deallocated.

Definition at line 336 of file vfs.c.

00337 {
00338         struct vfsref *cur;
00339 
00340         if (g_atomic_int_dec_and_test(&vr->ent->refcount)) {
00341                 /* Deallocate the underlying vfsent */
00342                 while ((cur = vfs_list_first(&vr->ent->population)) != NULL) {
00343                         vfs_list_remove(&vr->ent->population, cur);
00344                         vfs_close(cur);
00345                 }
00346                 
00347                 vfs_dealloc(vr->ent);
00348         }
00349         
00350         /* Deallocate the reference to it */
00351         g_slice_free(struct vfsref, vr);
00352 }

Here is the call graph for this function:

Here is the caller graph for this function:

 All Data Structures Files Functions Variables Defines
Generated on Mon Mar 15 04:45:50 2010 for herrie by  doxygen 1.6.3