Commit graph

7 commits

Author SHA1 Message Date
Christian Thaeter
12feb6e7b8 add 'lumiera_free' as replacement for 'free'
lumiera_free() is for now just a static inline wraper around free()
Later this makes it easier to hook in some resource managing functions
or a Garbage Collector in.

Replaced all current uses of free()
2008-08-10 12:19:08 +02:00
Christian Thaeter
9ad62d0edc Fix: one must not return from a mutex section 2008-05-19 16:27:30 +02:00
Christian Thaeter
241327bcd4 rename 'fhcache' global var to 'lumiera_fhcache' 2008-05-19 16:27:30 +02:00
Christian Thaeter
444b142d85 Correct File flag masking
The hash lookup needs to ignore O_EXCL|O_TRUNC|O_CREAT as well as file
reopening must not use this flags.
2008-05-19 16:27:29 +02:00
Christian Thaeter
c4816c39fd Proper flag and stat handling for files
Filedescriptors create files at construction, each later access becomes
a reopen on the now existing file.

file_handle_acquire() reopens the file to gain a handle when required
and checks that the file is really the one we expected (ino and dev num)
2008-05-19 16:27:29 +02:00
Christian Thaeter
232afe77e9 Filehandling
* add 'backend' for backend global initialization/destruction
  and common functions.
* WIP: 'file' acts as interface to named files, provides posix
  filehandles with and acquire/release function pair.
* 'filehandle' manages posix filehandles internally, refcounted.
* WIP: 'filehandlecache' keeps unused filehandles in a MRU cache

* WIP: test for filehandle management
* improved filedescriptor test
2008-05-19 16:27:28 +02:00
Christian Thaeter
791f42c104 WIP: Low level file management
We have 'File' which associates a name with a file and will be used to
offer an interface for the application.

Posix 'Filehandles' which are managed in a 'Filehandlecache' to utilize
a limited number of fd's at optimum.

Internally we use 'Filedescriptor's which manage files, mapping and all
kinds of metadata. Filedescriptors weak referenced by a registry and freed
when the last user vanishes.
2008-05-19 16:27:27 +02:00