fixup handle_acquire/_release for file and filedescriptor

This commit is contained in:
Christian Thaeter 2008-11-14 02:44:18 +01:00
parent c2e2a0e525
commit bb74bfbc22
3 changed files with 21 additions and 7 deletions

View file

@ -85,7 +85,7 @@ lumiera_file_handle_acquire (LumieraFile self)
REQUIRE (self->descriptor);
REQUIRE (lumiera_fhcache);
return lumiera_filedescriptor_handle (self->descriptor);
return lumiera_filedescriptor_handle_acquire (self->descriptor);
}
@ -93,11 +93,11 @@ void
lumiera_file_handle_release (LumieraFile self)
{
TRACE (file);
REQUIRE (self);
REQUIRE (self->descriptor);
REQUIRE (lumiera_fhcache);
LUMIERA_MUTEX_SECTION (file, &self->descriptor->lock)
{
lumiera_filehandlecache_checkin (lumiera_fhcache, self->descriptor->handle);
}
return lumiera_filedescriptor_handle_release (self->descriptor);
}

View file

@ -203,7 +203,7 @@ lumiera_filedescriptor_release (LumieraFiledescriptor self, const char* name, LL
int
lumiera_filedescriptor_handle (LumieraFiledescriptor self)
lumiera_filedescriptor_handle_acquire (LumieraFiledescriptor self)
{
TRACE (filedescriptor);
@ -224,6 +224,17 @@ lumiera_filedescriptor_handle (LumieraFiledescriptor self)
}
void
lumiera_filedescriptor_handle_release (LumieraFiledescriptor self)
{
TRACE (filedescriptor);
REQUIRE (self->handle);
LUMIERA_MUTEX_SECTION (filedescriptor, &self->lock)
lumiera_filehandlecache_checkin (lumiera_fhcache, self->handle);
}
const char*
lumiera_filedescriptor_name (LumieraFiledescriptor self)
{

View file

@ -111,7 +111,10 @@ void
lumiera_filedescriptor_release (LumieraFiledescriptor self, const char* name, LList filenode);
int
lumiera_filedescriptor_handle (LumieraFiledescriptor self);
lumiera_filedescriptor_handle_acquire (LumieraFiledescriptor self);
void
lumiera_filedescriptor_handle_release (LumieraFiledescriptor self);
const char*
lumiera_filedescriptor_name (LumieraFiledescriptor self);