Commit graph

908 commits

Author SHA1 Message Date
a8ff2ec137 cover the case of noncopyable objects wrapped into ScopedHolders and placed into a dynamically growing vector 2008-10-28 05:01:20 +01:00
340b90bee1 add the new tests to proc lib test suite 2008-10-26 22:43:54 +01:00
6a1c33e5a1 create a lib header based on this solution 2008-10-26 22:35:01 +01:00
32637dd958 experiment: possibility to circumvent the problem
using an custom allocator for std::vector with an explicit transfer_control().
Indeed seems to solve the problem...
2008-10-26 03:21:33 +01:00
89fca1921d WIP added simple usage test ... and made it compile,
but still a fundamental problem to resolve with the use of std::vector in this scenario
2008-10-24 06:06:24 +02:00
6bd0c84355 WIP added preliminary pseudo-implementation for the raw memory manager.
Actually this beast does just per object heap allocations, .... any takers?
2008-10-23 23:08:27 +02:00
b479404288 fix logic for allocating a new memory manager 2008-10-23 19:47:08 +02:00
75cf4a97b3 ScopedHolder test passed 2008-10-23 18:33:56 +02:00
2b2654cb38 WIP test covering the ScopedHolder helpers 2008-10-23 07:15:48 +02:00
716700a432 draft solution finished, compiles but test fails of course...
solved the problem to push the actual memory manager completely into the cpp file
2008-10-22 04:55:28 +02:00
1e3a03b4c5 WIP dealing with object collections taking ownership 2008-10-21 09:04:59 +02:00
eaa89067bb WIP test covering the AllocationCluster draft 2008-10-20 06:27:14 +02:00
490b7d163c doc cleanup 2008-10-20 03:33:55 +02:00
74164e890e finished the outline 2008-10-20 03:13:02 +02:00
1b6df94aab documentation (drawing) 2008-10-18 04:15:07 +02:00
747d793121 draft framework for handling the memory allocation of render nodes 2008-10-18 04:15:06 +02:00
f56a7757ed SCons: call it 'liblumiera.a' 2008-10-18 04:10:56 +02:00
Joel Holdsworth
c6dcdf44da Corrected a breakage in the makefile.am caused by a directory tree
reorganisation
2008-10-18 00:23:54 +01:00
Joel Holdsworth
b653a60c17 Merge branch 'work' into gui 2008-10-18 00:15:06 +01:00
Joel Holdsworth
58e4920048 Corrected namespaces from lumiera::gui:: to gui:: 2008-10-18 00:13:27 +01:00
Joel Holdsworth
60beab4933 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui 2008-10-17 23:40:40 +01:00
Joel Holdsworth
ab609407a5 Fixed a bug exposed by make distcheck 2008-10-17 23:39:02 +01:00
Joel Holdsworth
c2d43aba2b Advanced code in the HeaderContainer 2008-10-17 23:36:37 +01:00
55d592f119 adapt for the plugin-test now being in tests/backend 2008-10-16 02:07:32 +02:00
d64d822690 merge from backend (plugin loader)
Merge commit 'lumi/master' into proc
2008-10-16 00:35:57 +02:00
b6c32f0005 October dev meeting 2008-10-16 00:34:53 +02:00
Christian Thaeter
ebcc5c7fd2 Fix: old plugin.c|.h must not be compiled and linked 2008-10-15 22:53:55 +02:00
Christian Thaeter
26c212b292 make the old plugin stuff barely compileable, disable tests, fix later 2008-10-15 22:18:17 +02:00
Christian Thaeter
9752de3102 Some prelimary TODO's for filedescriptor.c to be fixed later 2008-10-15 22:05:22 +02:00
510456d250 some cleanup on the main TiddlyWiki, added latest protocol 2008-10-15 18:27:34 +02:00
Christian Thaeter
be9d2b189f fix lib/Makefile.am, a stale interfaces.h was left here 2008-10-15 18:01:52 +02:00
Christian Thaeter
9943dd76fd use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 17:21:22 +02:00
Christian Thaeter
f7fa5769ca Start of a 'wordlist' type for the config subsystem
wordlists are simple not quoted words delimited by semicolon, tab, space or
commas. Some special functions will allow to access each of this words by
index etc.
2008-10-15 17:19:53 +02:00
Christian Thaeter
0cf7dec793 Interfaceregistry for 'active' interfaces
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an	amalgamation of this lookup and the upcoming plugindb and
loader.
2008-10-15 17:18:03 +02:00
Christian Thaeter
29f5a0f2ab moved the remaining interface stuff from lib to backend 2008-10-15 16:05:17 +02:00
Christian Thaeter
ee7719eada tests and a first definition of a interface descriptor 2008-10-15 16:05:17 +02:00
Christian Thaeter
f05f6772f1 Interface system refactoring
* lumiera_interface are now static structures, never wrritten
 * introduced a lumiera_interfacenode which manages the dynamic data
   of interfaces. The interfaceregistry now holds this nodes.
2008-10-15 16:05:17 +02:00
Christian Thaeter
405a578c42 WIP: interface open/close handling cross dependencies 2008-10-15 16:05:17 +02:00
Christian Thaeter
a6ddb55e9b use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 16:05:15 +02:00
Christian Thaeter
4414af3751 add a 'weak' flag for interface_acquire/release()
When interfaces cross depend on each other nested acquiring from
their acquire handlers would introduce cyclic references which cant
be cleaned easily. By flagging such nested acquisitions as weak the
respective handler functions can account for this.

Example: maintain 2 ref counters one for strong and one for weak
acquisitions. At release time all acquired nested handles get closed when
the strong counter drops to zero, which causes that cross reference
releases will eventually drop the weak count to zero too. Then all
resources can be freed and the interface is properly shut down.
2008-10-15 16:04:32 +02:00
Christian Thaeter
c9ac956417 cosmetics 2008-10-15 16:04:32 +02:00
Christian Thaeter
bb9c53d32d change parameter order for _DNAME in interface.h, add a _REF macro 2008-10-15 16:04:32 +02:00
Christian Thaeter
0342e19c12 move the interfaces test to backend, because its going to be stateful 2008-10-15 16:04:32 +02:00
Christian Thaeter
4bfe430f38 Interfaceregistry for 'active' interfaces
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an	amalgamation of this lookup and the upcoming plugindb and
loader.
2008-10-15 16:04:28 +02:00
Christian Thaeter
66a1142079 apply the new defined nameing rules to interface.h 2008-10-15 16:01:09 +02:00
Christian Thaeter
b252807c55 functions for interface acquire/release 2008-10-15 16:01:09 +02:00
Christian Thaeter
caa5bd10a0 interface update
* remove the data member from the interface structure
 * add a psplay node used in a upcoming interface registry
 * add a INLINE function mapper
2008-10-15 16:01:08 +02:00
Christian Thaeter
feb9ba7db9 provide some example code for the 'interface' system
* test-interfaces.c is just a mockup to show how interfaces are created
 * fix some bugs introduced with a futile refactoring try at the last commit
2008-10-15 16:01:08 +02:00
Christian Thaeter
c84d10c9d5 Add a CALL macro to interface.h 2008-10-15 16:01:08 +02:00
Christian Thaeter
f114b04509 Documentation for the interface system and small refactorings on the fly 2008-10-15 16:01:08 +02:00