Fix: mutex initialization, remove explicit RESOURCE_HANDLES

The new mutex has an implicit resource handle
This commit is contained in:
Christian Thaeter 2008-11-07 18:56:09 +01:00
parent e938b36071
commit 2a0b5dca5e
4 changed files with 7 additions and 13 deletions

View file

@ -42,7 +42,7 @@ NOBUG_DEFINE_FLAG_PARENT (filedescriptor, file_all);
This registry stores all acquired filedescriptors for lookup, they will be freed when not referenced anymore. This registry stores all acquired filedescriptors for lookup, they will be freed when not referenced anymore.
*/ */
static PSplay registry = NULL; static PSplay registry = NULL;
static lumiera_mutex registry_mutex = {PTHREAD_MUTEX_INITIALIZER NOBUG_RESOURCE_HANDLE_COMMA_INITIALIZER}; static lumiera_mutex registry_mutex;
static int static int
@ -96,10 +96,7 @@ lumiera_filedescriptor_registry_init (void)
if (!registry) if (!registry)
LUMIERA_DIE (NO_MEMORY); LUMIERA_DIE (NO_MEMORY);
TODO ("LumieraMutex lumiera_mutex_init (LumieraMutex self, const char* purpose, struct nobug_flag* flag);"); lumiera_mutex_init (&registry_mutex, "filedescriptor_registry", &NOBUG_FLAG (filedescriptor));
// RESOURCE_HANDLE_INIT (registry_mutex.rh);
RESOURCE_ANNOUNCE (filedescriptor, "mutex", "filedescriptor registry", &registry, registry_mutex.rh);
} }
void void
@ -108,9 +105,7 @@ lumiera_filedescriptor_registry_destroy (void)
TRACE (filedescriptor); TRACE (filedescriptor);
REQUIRE (!psplay_nelements (registry)); REQUIRE (!psplay_nelements (registry));
RESOURCE_FORGET (filedescriptor, registry_mutex.rh); lumiera_mutex_destroy (&registry_mutex, &NOBUG_FLAG (filedescriptor));
TODO ("LumieraMutex lumiera_mutex_destroy (LumieraMutex self, struct nobug_flag* flag);");
if (registry) if (registry)
psplay_destroy (registry); psplay_destroy (registry);

View file

@ -62,20 +62,21 @@ struct lumiera_mmap_struct
/** array with refcounters per page **/ /** array with refcounters per page **/
unsigned short* refmap; unsigned short* refmap;
//RESOURCE_HANDLE (rh);
}; };
LumieraMMap LumieraMMap
lumiera_mmap_init (LumieraMMap self, LumieraFile file, LList acquirer, off_t start, size_t size, size_t chunksize); lumiera_mmap_init (LumieraMMap self, LumieraFile file, LList acquirer, off_t start, size_t size, size_t chunksize);
LumieraMMap LumieraMMap
lumiera_mmap_new (LumieraFile file, LList acquirer, off_t start, size_t size, size_t chunksize); lumiera_mmap_new (LumieraFile file, LList acquirer, off_t start, size_t size, size_t chunksize);
void void
lumiera_mmap_delete (LumieraMMap self); lumiera_mmap_delete (LumieraMMap self);
void* void*
lumiera_mmap_destroy_node (LList node); lumiera_mmap_destroy_node (LList node);

View file

@ -47,7 +47,6 @@ struct lumiera_mmapcache_struct
size_t total; size_t total;
size_t cached; size_t cached;
lumiera_mutex lock; lumiera_mutex lock;
RESOURCE_HANDLE (rh);
}; };
extern LumieraMMapcache lumiera_mcache; extern LumieraMMapcache lumiera_mcache;

View file

@ -36,7 +36,7 @@ typedef lumiera_mmapings* LumieraMMapings;
/** /**
* @file * @file
* Keeps all mmaped areas * Manage the mmap objects of a file
* *
*/ */
@ -54,7 +54,6 @@ struct lumiera_mmapings_struct
LumieraFiledescriptor descriptor; LumieraFiledescriptor descriptor;
lumiera_mutex lock; lumiera_mutex lock;
RESOURCE_HANDLE (rh);
}; };
/** /**