add nobug resource tracking to filedescriptors

This commit is contained in:
Christian Thaeter 2008-04-04 08:01:59 +02:00
parent 5286838886
commit bb98bb434b
2 changed files with 11 additions and 0 deletions

View file

@ -214,6 +214,9 @@ lumiera_filedescriptor_new (LumieraFiledescriptor template)
lumiera_mutex_init (&self->lock);
self->reopened = 0;
self->refcount = 1;
self->handle = 0;
RESOURCE_ANNOUNCE (filedescriptor, "mutex", "filedescriptor", self, self->rh);
return self;
}
@ -231,10 +234,15 @@ lumiera_filedescriptor_delete (LumieraFiledescriptor self)
REQUIRE (self->refcount == 0);
RESOURCE_FORGET (filedescriptor, self->rh);
cuckoo_remove (registry, cuckoo_find (registry, &self));
TODO ("destruct other members (WIP)");
TODO ("release filehandle");
lumiera_mutex_destroy (&self->lock);
free (self);

View file

@ -45,8 +45,11 @@ struct lumiera_filedescriptor_struct
unsigned reopened; /* count for reopens 0=not yet opened, 1=first, 2..=reopened */
unsigned refcount; /* reference counter, all users sans registry */
LumieraFilehandle handle;
//LumieraFileMap mappings;
//LumieraWriteBuffer writebuffer;
RESOURCE_HANDLE (rh);
};