Christian Thaeter
7a266f22ba
integrate filedescriptor tests
2008-05-19 16:27:27 +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
Christian Thaeter
94e075d2c2
fix: mrucache_drop() must call the element destructor
2008-05-19 16:23:16 +02:00
Christian Thaeter
03ed87051d
fix missing declaration of lumiera_calloc() in safeclib.h
2008-05-19 16:23:16 +02:00
Christian Thaeter
63c07d1274
doxydocing mrucache
2008-05-19 16:23:15 +02:00
Christian Thaeter
dc0cbf0ad8
Fix: off by one allocation error in tmpbuf_snprintf()
2008-05-19 16:23:15 +02:00
Christian Thaeter
ff6ce603a4
tmpbuf_sprintf renamed to tmpbuf_snprintf
2008-05-19 16:23:15 +02:00
Christian Thaeter
0996c386bb
Mrucache update
...
* Fix: unlinking at destroy
* rename add/remove to checkin/checkout
* add a drop function which moves a node to the end for fast reuse
2008-05-19 16:23:15 +02:00
Christian Thaeter
b909c2247d
add a cuckoo_nelements function
...
Query the number of elements stored in a hash, useful for debugging.
2008-05-19 16:23:15 +02:00
Christian Thaeter
293b872b5d
extend the MUTEX_SECTION macro with NoBug resource tracking
...
LUMIERA_MUTEX_SECTION takes now a nobug flag as first argument and
a nobug resource-handle as second argument.
This change works forward for the NoBug resource tracker and
deadlock detector.
2008-05-19 16:23:15 +02:00
Christian Thaeter
b4183ed444
safeclib improvements
...
* add lumiera_calloc()
* improve cleanup functions for tmpbuf
2008-05-19 16:23:15 +02:00
Christian Thaeter
5659219e55
correct date in copyright header
2008-05-19 13:31:18 +02:00
Christian Thaeter
bc436d1d6a
fix typo in component test
2008-05-19 13:30:55 +02:00
Christian Thaeter
e1b8849d0c
build 'common' tests
2008-05-19 13:30:20 +02:00
Christian Thaeter
d6d6a10404
add components test build
2008-05-19 01:55:05 +02:00
Christian Thaeter
8ba3df3b31
missing slash
2008-05-19 01:54:40 +02:00
Christian Thaeter
5ae909e2a0
add C++ parts to lib build
2008-05-19 01:51:34 +02:00
Christian Thaeter
3b6713b23c
build common and (re-)enable backend build (C++ part)
...
- not (yet) merged backend C parts are commented out for now
2008-05-19 01:50:53 +02:00
Christian Thaeter
b6bd181ca8
correct pasting glitch and copyright header date
2008-05-19 01:48:02 +02:00
Christian Thaeter
e8164062a2
integrate proc into automake
...
* all files in src/proc are build into libs
* TODO: -Werror still missing
* TODO: Tests are not yet compiled
2008-05-18 00:01:51 +02:00
Christian Thaeter
249c6d5eda
Remove _GNU_SOURCE from certain files
...
GNU_SOURCE is globally activated in configure.ac
2008-05-17 23:33:21 +02:00
Christian Thaeter
2cbfeda4df
correct return types in condition.h
2008-05-17 23:25:50 +02:00
Christian Thaeter
19fd89d13d
cleanup and add more configure checks
...
* GNU_SOURCE by default now
* improved use of ACX_PTHREAD, replaces $CC and others
* all checks for mandatory things instantly exit for now
in future this might produce an report at the end
* ported checks from scons over here
2008-05-17 20:00:05 +02:00
Christian Thaeter
2d11d51860
Checks for NoBug (and other) headers have to follow the
...
particular configurations.
If not the generated conftest would bail out NoBug
complaining that no build level is selected
2008-05-16 20:17:43 +02:00
Christian Thaeter
2a1d6c6232
Fix: safeclib-test
2008-05-13 21:43:08 +02:00
Christian Thaeter
a9cf2c719d
Fix: uuid includes
2008-05-13 21:42:51 +02:00
Christian Thaeter
23e32d31fc
don't build the backend things for now
2008-05-13 21:42:17 +02:00
Christian Thaeter
380c1d2c47
dropped the pre-gavl framerate sources out of lib
2008-05-13 21:31:30 +02:00
Christian Thaeter
b41115d1b2
Add cuckoo hashing to the library
...
This implementation of cuckoo hashing gives guaranteed O(1)
lookup complexity and amortized O(1) insert and remove complexity.
Hash tables by default grow and shrink automatically.
It is posible to preallocate entries and turn automatic shrinking off,
taking out the memory management factors for insert and remove operations.
2008-05-13 20:57:20 +02:00
Christian Thaeter
3a8b3feb96
add string creating functions to tmpbuf
...
* lumiera_tmpbuf_strndup() duplicates a string
* lumiera_tmpbuf_sprintf() creates a formatted string
2008-05-13 20:57:20 +02:00
Christian Thaeter
d32c74361b
Fix: typo in mrucache_age()
2008-05-13 20:57:19 +02:00
Christian Thaeter
69ba3b389c
LUMIERA_MUTEX_SECTION(mutex) macro for sections of mutex protected code
2008-05-13 20:57:19 +02:00
Christian Thaeter
eab6b64f6d
let mrucache age return how much elements it couldn't purge
2008-05-13 20:57:19 +02:00
Christian Thaeter
328127980a
a small most-recent-used cache implementation
2008-05-13 20:57:19 +02:00
Christian Thaeter
ecd6ba66b8
safeclib testsuite
2008-05-13 20:57:19 +02:00
Christian Thaeter
7686a2ec56
Renamed the temporary 'buffer' functions to 'tmpbuf'
2008-05-13 20:57:18 +02:00
Christian Thaeter
646d6fa0d3
Test simplification, plaything
...
* test.h provides some macros to aid test writing
* applied that to some tests
2008-05-13 20:57:18 +02:00
Christian Thaeter
0b8b5bf507
uuid functions
2008-05-13 20:54:05 +02:00
Christian Thaeter
27ca8a7362
let LUMIERA_DIE take an error identifier as parameter
2008-05-13 20:54:05 +02:00
Christian Thaeter
8b162cada4
llist update
2008-05-13 20:54:04 +02:00
Christian Thaeter
19ee8afa08
safeclib wraps some common c library functions and adds some tools
...
* lumiera_malloc which succeeds or dies
* some safe string functions
* Thread local round robin buffers for temporary data
2008-05-13 20:54:04 +02:00
Christian Thaeter
8d59d601a8
Add protocol of the 2nd developer meeting to the wiki
...
Conflicts:
wiki/index.html
2008-05-13 20:33:44 +02:00
Christian Thaeter
4b07cd6f85
Some more notes for the compatibility wiki
2008-05-13 20:00:43 +02:00
Christian Thaeter
8b299e7493
add a compatibility/dependecy/style wiki
...
Conflicts:
wiki/compatibility.html
wiki/index.html
2008-05-13 20:00:34 +02:00
3e8996005e
start using the new lifecycle hooks. remove global nobugcfg.h
...
Now using proc/lumiera.hpp and proc/nobugcfg.hpp (i.e. only for the proc-Layer). Using ON_BASIC_INIT to
pull up NoBug automatically and for installing the unknown-exception handler. Add calls for
ON_GLOBAL_INIT and ON_GLOBAL_SHUTDOWN hooks to main() and to the testrunner
2008-04-14 05:15:16 +02:00
85189d3f4c
extend Appconfig class to provide Lifecycle callback hooks
...
esp. for automatic triggering the initialisation of very basic struff (like NoBug...)
2008-04-13 23:54:39 +02:00
ce72947d0c
brought proc layer introductory pages up-to-date
2008-04-13 03:39:18 +02:00
e91fc65a2b
supplemented some info to the wikis
2008-04-12 06:59:24 +02:00
024e3c4dbc
change build to link in separate libs, also split test executable.
...
now building liblumiback.a liblumiproc.a liblumi.a
build a separate test-common executable (for everything in src/common)
include a precompiled header for assets.
2008-04-12 04:55:18 +02:00
c29b6bdd9a
fix include for testsuite
...
(note I did a partial merge and didn't take any of the new sourcefiles,
so probably this is already fixed on cehtehs branch backend)
2008-04-12 03:09:28 +02:00