8f0dd93308
try to reorganise confusing API arrangement. leads to discovering Bug #641
2010-06-18 03:12:59 +02:00
fab1c699ea
draft test to verify behaviour
...
but doesn't work; somehow the filterfunciton of the baseclass
gets installed
2010-06-16 06:45:38 +02:00
a8dcd9f494
idea how to implement searching for objects with specific properties
2010-06-16 05:56:44 +02:00
a1f3ad835b
investigating the problem of finding an object with given conditions
2010-06-15 05:24:05 +02:00
c6c7214826
try to break the design deadlock with sequence / track creation
2010-06-14 02:08:45 +02:00
fc3e43bb19
re-reading my design and plannings from March, identiyfying next steps to take
2010-06-13 03:34:12 +02:00
e574fdf702
fix a regression regarding struct-asset naming scheme
2010-06-13 00:31:41 +02:00
68aefe5074
implement a simple singleton holder for NIL/default objects
2010-06-12 19:45:01 +02:00
2debae62e0
add locking to protect the advice index table mutations
...
clearly, this locking is quite global, and this couldb be
improved by using a more elaborate index structure
2010-06-12 19:32:25 +02:00
e020601ebd
refactor AdviceSystem access
2010-06-12 19:06:56 +02:00
7b8f02ef20
change index/solution interface into protected
...
not to be used by client code, only by the index
2010-06-12 17:51:55 +02:00
a93d8a42e4
use killer-stash to resolve the AdviceSystem memory leak
2010-06-12 03:33:40 +02:00
cb838ba5b6
extend killer-stash to allow registration of custom deleter functions
2010-06-12 03:12:02 +02:00
59145e0f14
Refactor storing of advice to prepare for actually managing the storage
2010-06-11 04:12:11 +02:00
4fb884669b
ooops... didn't invoke the dtor when releasing an Advice holer
2010-06-08 04:26:28 +02:00
eb19f59ba0
deleter memorising component passes unit test ( #629 )
2010-06-07 03:32:41 +02:00
9aca348870
code up implementation of this killer-stash
2010-06-07 02:14:10 +02:00
6b90767468
draft a component to manage deleter functions
2010-06-06 04:26:23 +02:00
dee4c33c55
change the index-interface from free to member functions
...
part of Ticket #628
2010-06-06 02:11:40 +02:00
2360f9b4c0
Advice colaboration: implemented and passes basic unit test
2010-06-05 05:09:42 +02:00
7d93dae8ea
fix some simple problems (but doesn't pass tests yet)
...
looks like a logic error: new advice::Request got solution
2010-06-04 20:10:46 +02:00
203b955a33
add preliminary buffer memory management by heap allocation
...
TODO: use the lumiera pool allocator, prevent leak of any
advice data not explicitly retracted!
2010-06-04 19:33:42 +02:00
5a615ee4f8
consider advice::Index exception safety
2010-06-04 18:39:39 +02:00
7895ce5f49
solve the problem with re-binding and advice::Request
2010-06-04 17:25:33 +02:00
666d57f6ef
code up the obvious part of the AdviceSystem implementation
2010-06-04 04:35:40 +02:00
d0e7f9b77d
use the NullValue holder to solve the problem with default advice solutions
...
Implementation is simple, but the implications might be tricky
2010-06-03 04:40:38 +02:00
72c01e12c9
implement a simple singleton holder for NIL/default objects
2010-06-03 04:40:38 +02:00
91c2763fa4
WIP considering how to manage default / fallback advice
2010-06-03 04:40:38 +02:00
a9595d0a7f
refactor link to the advice system into separate baseclass
2010-06-03 04:40:38 +02:00
74e12dd17a
factor advice holding buffer into separate Class
2010-06-03 04:40:37 +02:00
d5ebe14d73
add (protected) calls to the AdviceSystem
2010-06-03 04:40:37 +02:00
69af735070
reconsider advice implementation. Investigate some tricky implementation decisions
2010-06-03 04:40:37 +02:00
7dcdff3287
advice-basics: stubbed and fixed to pass compiler
2010-06-03 04:40:37 +02:00
83b5c8c2c2
WIP code up external advice API
2010-06-03 04:40:37 +02:00
c9437b3bff
binding index unit test pass
2010-06-03 04:40:37 +02:00
0c123e4af3
Bugfix
2010-06-03 04:40:36 +02:00
ca93b11010
provide self-verification. Advice index impl. now complete
...
but not yet tested...
2010-06-03 04:40:36 +02:00
d00d42b58c
code up the core solution finding logic
2010-06-03 04:40:36 +02:00
e0cfa6798f
implement the diagnostic operations
2010-06-03 04:40:36 +02:00
f1be9886fa
fix problem with comparisions / containment check
2010-06-03 04:40:36 +02:00
d4433fb3f3
WIP code high-level index functionality
2010-06-03 04:40:36 +02:00
bf02d6d03f
adapter interface for the test-entry
2010-06-03 04:40:36 +02:00
3c35e2a95f
WIP code up index functionality...
2010-06-03 04:40:36 +02:00
530940254e
stubbed advice binding index implementation
2010-06-03 04:40:36 +02:00
c8ac2b0447
planning the advice binding index implementation
2010-06-03 04:40:35 +02:00
5b48b9f864
fix a regression regarding struct-asset naming scheme
2010-06-03 04:40:35 +02:00
0514c24487
Advice binding pattern finished, passing unit test
...
now detecting a lot of syntax errors
2010-06-03 04:40:35 +02:00
1e28c7f1ab
get the advice binding unit test to pass thus far
2010-06-03 04:40:35 +02:00
85f8035f92
Implement parsing of Advice binding pattern spec
2010-06-03 04:40:35 +02:00
f2269b7e78
Implement Advice binding pattern
2010-06-03 04:40:35 +02:00
f27024172f
Implementation skeleton for advice binding match
2010-06-03 04:40:34 +02:00
e3c963378f
outline some implementation details regarding the Bindings to match
2010-06-03 04:40:34 +02:00
3e2b78b670
fill in the basic definitions to make the draft test compile
2010-06-03 04:40:34 +02:00
abe8d876dd
Start planning the Advice implementation: skeleton of unit tests
2010-06-03 04:40:34 +02:00
560612d467
check out how to use the GDB Python pretty-printers
...
Yes, it works with GDB 7.1 from Debian/Squeeze
2010-06-03 04:37:22 +02:00
b998935d6f
fix linking problem with the asset::Struct naming scheme
2010-06-03 04:37:22 +02:00
1f988e17cd
unfinished code commented out
2010-06-03 04:37:22 +02:00
0f6c2e84d2
test-driven brainstorming: TypedID usage
2010-06-03 04:37:22 +02:00
a78845507a
cleanup
2010-06-03 04:37:20 +02:00
e61eb01942
experimental fix for #307
2010-06-03 04:37:20 +02:00
debba6f769
Fix PlacementIndex corruption while deleting recursively
2010-06-03 04:37:20 +02:00
82d8d26308
extend the map iterator adapter to work on STL ranges
2010-06-03 04:37:20 +02:00
939270063e
helper: take snapshot of a given Lumiera or STL iterator
2010-06-03 04:37:20 +02:00
81f87ba852
similar low-level iterator adapter for multimap value groups
2010-06-03 04:37:20 +02:00
c5e4725dcb
implement another wrapper to filter duplicates
2010-06-03 04:37:19 +02:00
a87889cbad
implement convenience helper to pick key/value from a map iterator
2010-06-03 04:37:19 +02:00
73a2aea50c
draft a low-level adapter to get all keys/vals of a stl::map
...
intention is just to use a thin wrapper, without
abstracting the implementation type (as IterSource does)
2010-06-03 04:37:19 +02:00
fc44e522e0
improve PlacementIndex self-verification
2010-06-03 04:37:19 +02:00
57a9b1a270
Iterator adapter to ennumerate all values to a multimap key ( closes #492 )
2010-06-03 04:37:19 +02:00
c9bf26d8c4
EntryID finished and passes unit test
2010-06-03 04:37:19 +02:00
c691213003
EntryID: fix symbol generation and improve ordering
2010-06-03 04:37:19 +02:00
b21db07aff
implement generic object attach-to-model and purge
2010-06-03 04:37:18 +02:00
c43040985c
more stubbing and compilation fixes
2010-06-03 04:37:18 +02:00
8a2515c0b0
stubbing and compilation fixes
2010-06-03 04:37:18 +02:00
474b1af82a
add catch-all defaults for asset::struct naming
2010-06-03 04:37:18 +02:00
e4f015d622
WIP remaining parts of the EntryID implementation, untested
2010-06-03 04:37:18 +02:00
07146ad373
WIP parts of the EntryID implementation, refactor struct asset name generation
2010-06-03 04:37:18 +02:00
2131488afb
test-driven brainstorming: simplified asset-like ID
2010-06-03 04:37:17 +02:00
39355713fd
cleanup
2010-06-03 04:37:17 +02:00
1119b917a9
planning general refactoring to allow intended binding/sequence handling
2010-06-03 04:37:17 +02:00
4bf9a36f2e
Start working on timeline-sequence binding.
2010-06-03 04:37:16 +02:00
c93dfc4f29
partially refactor into library
2010-06-03 04:37:16 +02:00
479bbbb6c7
clarify how deregistration works
2010-06-03 04:37:16 +02:00
dd3d22f950
implement registry for element-tracking. passes unit test
2010-06-03 04:37:16 +02:00
9ec865c3ab
Stubbing and definitions to get element-tracking to compile
2010-06-03 04:37:16 +02:00
cdaff1566f
Template instantiations for the new asset types Timeline and Sequence
2010-06-03 04:37:15 +02:00
55df5205a4
draft a mixin for adding element-tracking functionality
2010-06-03 04:37:15 +02:00
bdb21c4aa8
draft required functionality for the element-tracker
2010-06-03 04:37:15 +02:00
c7a9b04fba
refactor SessionImpl to support nested interface modules on the API
2010-06-03 04:37:15 +02:00
fa0482fab4
WIP add sub-interfaces to the session API
2010-06-03 04:37:15 +02:00
bfc18dfb94
consider using RefArray for the Session API
2010-06-03 04:37:14 +02:00
ea538d962f
test-driven brainstorming: adding and removing session parts
2010-06-03 04:37:14 +02:00
baff536731
placement and pointee equivalence tests
2010-06-03 04:37:14 +02:00
11c5d55b73
draft: run self-check on MObject creation
2010-06-03 04:37:14 +02:00
8f34129f60
planning: structural assets and the track-ID
2010-06-03 04:37:14 +02:00
8eb0a16134
cast the new spec regarding timeline/session into unit test code
2010-06-03 04:37:14 +02:00
4594ddde3a
WIP: test driven brainstorming regarding sequence/timeline handling
2010-06-03 04:37:13 +02:00
c2cbe4c9e8
change Timeline and Sequence to be structural assets
2010-06-03 04:37:13 +02:00
092ea07b76
kill "the EDL"
2010-06-03 04:37:12 +02:00
Odin Hørthe Omdal
792a595041
Fix for old GAVL versions (missing uint64_t)
2010-05-15 02:20:07 +02:00
Christian Thaeter
9d99300841
FIX : #619 , New Nobug required! version 201005.1
...
add the 'extra' argument to mpool dumps.
Solves Linking problems on some distros.
2010-05-12 00:46:39 +02:00
5b9aa5deb2
landing the new threadpool implementation
2010-02-15 00:48:52 +01:00
1c63a02e23
augment and round up the C++ thread wrapper
2010-02-14 23:39:15 +01:00
90d311dc1d
Error integration: error::Flag as subclass of State. Wrapped throw
2010-02-13 20:56:41 +01:00
acd0671390
clarify some comments regarding GUI start
2010-02-13 17:41:16 +01:00
dc991ca563
valgrind suppression: add some more cases to be filtered
2010-02-13 06:00:38 +01:00
b41bd20de4
push accessing the DiagnosticContext down one layer
...
accessing the DiagnosticContext now inline when
providing the paramters for calling the C-functions.
No change in functionality, but saves us a lot of
syntactic noise.
2010-02-13 05:33:08 +01:00
3466793976
repackage as a more general facility (DiagnosticContext)
...
implementation unaltered (just managing the NoBug handle)
2010-02-13 04:54:59 +01:00
4dfd7266b9
draft solution to factor out management of the resource handle
...
based on the idea of a diagnostic context stack
2010-02-13 04:03:27 +01:00
763f86fe0e
back out changes I do not want in lib/sync.hpp
...
especially, I do not want to pass a resource handle
through all locking function APIs; the memory
management of the resource tracker should better
be kept separate and not mixed with the monitor.
Also, I am rather reluctand regarding any extended
functionality for the monitor, like timed locks
or trylocks or read/write monitors. I think, the
monitor pattern is only beneficial when it is kept
fairly simple, advanced thread programming should
be pushed out into lib functions in the backend.
2010-02-12 05:22:17 +01:00
52a7d6993d
SCons: remove GThreads from linking (except for the GUI)
2010-02-11 03:19:42 +01:00
dfd70c6069
replace GThreads by the Lumiera thread wrapper
2010-02-11 03:06:42 +01:00
Christian Thaeter
80e2db4800
hook the resourcecollector into safeclib on backend startup
2010-02-08 17:47:26 +01:00
Christian Thaeter
d103346482
hook mpool into the resourcecollector and using safeclib allocations
2010-02-08 14:28:54 +01:00
Christian Thaeter
9feb01e4fe
add hooks for malloc/free to mpool, add (no-op) purge function
...
We will need this to hook the resourcecollector in
2010-02-07 20:53:51 +01:00
Christian Thaeter
b60d8aa907
FIX: error.c memory leak when destroying threads
...
the error context is dynamically allocated and must be freed, forgotten
this as errors originated from static strings initially.
2010-02-07 20:25:09 +01:00
Christian Thaeter
33a0591689
Make resourcecollector initialization explicit
...
instead automatic initialization, the resourcecollector is pulled up as
backend service.
2010-02-05 09:20:52 +01:00
Christian Thaeter
d350a250fa
Move the resourcecollector to the backend, closes #521
2010-02-05 08:58:19 +01:00
Christian Thaeter
d45b2eef91
factor the filedescriptorregistry out, closes #395
...
also introduces a new mutex for lookup/creating files to prevent races
2010-02-04 22:52:21 +01:00
Christian Thaeter
40d1bb50bb
fix double-free bug in mmap.c
2010-02-04 21:56:49 +01:00
Christian Thaeter
97d5b1c727
remove the 'once' hack from mmap_init()
2010-02-04 20:43:27 +01:00
Christian Thaeter
c1c97228a5
Set error condition when chunksize for a non mmaped file is queried
2010-02-04 20:41:49 +01:00
Christian Thaeter
4821e7eb3f
add file_delete_unlink() which removes a file from disk when closed
...
For temporary file, only removes the name under which it was opened
2010-02-04 20:40:54 +01:00
Christian Thaeter
31a2f454d8
remove lumiera_fhcache as parameter, closes #396
2010-02-04 10:21:20 +01:00
Christian Thaeter
711af29605
Merge remote branch 'plouj/second-tp-attempt' into backend_devel
...
* plouj/second-tp-attempt:
added two sync tests
show the state name string
it is more proper to use cond_sync flags for *CONDITION_SECTIONs
add a threads/threadpool NOBUG flag hierarchy
replace an old test with a compile-only one which spawns way too many threads
increase the delay in threads to 10ms
wrap prime test in usleep() to make the thread likely to be re-scheduled
2010-02-03 10:51:03 +01:00
Christian Thaeter
01839d4e48
update for nobug-201002.1
2010-02-03 10:38:12 +01:00
Michael Ploujnikov
6d053d3f84
show the state name string
2010-02-01 16:51:27 -05:00
Michael Ploujnikov
8588fa2b9c
it is more proper to use cond_sync flags for *CONDITION_SECTIONs
2010-02-01 07:25:49 -05:00
Michael Ploujnikov
b799321dff
add a threads/threadpool NOBUG flag hierarchy
...
and remove redundant/errorneous flag initializations as a result
also use the test flag from logging.h
2010-02-01 07:25:06 -05:00
Christian Thaeter
014c83ff5a
PTHREAD_ONCE_INIT can be a macro, fast init trick doesn't work then
2010-01-30 08:40:38 +01:00
Christian Thaeter
32d9a9f9ad
FIX: thread-wrapper proxy the catched error up to the joiner
2010-01-30 07:20:09 +01:00
Christian Thaeter
87465ff69b
little test-helper cosmetics
2010-01-30 07:20:09 +01:00
Christian Thaeter
dc5ae73626
Log the error passing when joining threads
2010-01-30 07:20:09 +01:00
Christian Thaeter
812f7112af
FIX: small race in acquire_thread, catching threads out of the void
2010-01-30 02:56:50 +01:00
Christian Thaeter
f57d637b59
Merge commit 'dc87e78590ea86615d3ebe90d23af4548445b941' into backend_devel
...
* commit 'dc87e78590ea86615d3ebe90d23af4548445b941':
add a two-thread acquire test
show the state of the thread in question
minor fixes: remove an old comment and change another
fix the prime test algorithm
use unsigned long for even more digits!
2010-01-30 00:48:04 +01:00
ede06e63d5
automatically start the threadpool on demand, similar to NoBug
...
but the difference is: threadpool comes up application init i.e. at the begin of main(),
while NoBug comes up in static init already.
2010-01-24 15:48:48 +01:00
93af4ed017
refactor the C++ thread-wrapper, remove JoinHandle
2010-01-24 14:05:32 +01:00
82967191b3
PlacementIndexQueryResolver passes unit test
2010-01-23 15:50:46 +01:00
a9a6bb3951
better store the scope-ID within a query
2010-01-23 15:50:46 +01:00
018801895b
Add some test-dummy MObjects *temporarily* to core tree (Ticket #532 )
2010-01-23 15:50:46 +01:00
f6cf3195cf
* MObjectRef_test pass *
...
This is the integration of some months of work
2010-01-23 15:50:46 +01:00
0f9fc7e3dd
PlacementRef works! that's a milestone. Closes #78
2010-01-23 15:50:46 +01:00
9a6f9b2ba5
PlacementIndex: possibly retaining type information on insert
2010-01-23 15:50:46 +01:00
26972376de
MobjectRef_test passes compiler as a whole
2010-01-23 15:50:45 +01:00
71428ccf6f
activating an MObject ref implemented, passes compiler
2010-01-23 15:50:45 +01:00
e9d641babd
nail down all the MObjectRef equality comparison cases
2010-01-23 15:50:45 +01:00
e04672936a
getting MObjectRef_test partially through the compiler
2010-01-23 15:50:45 +01:00
b32a48f410
Finish definition/documentation of PlacementRef and PlacementIndex
2010-01-23 15:50:45 +01:00
Christian Thaeter
8607a4006a
update the thread-wrapper to use the new threading API
...
This removes the explicit Sync things from the thread wraper since
the functionality is almost exactly provided by the backend.
Thread encapsulates a lumiera thread handle now, but this is strictly
optional and might be dropped on the floor (using a temporary as thread).
Thread has a sync() function which allows user controlled syncronous
startup:
Thread("foo", myoperation).sync();
will startup myoperation and only return from the ctor after myoperation
called a matching lumiera_thread_sync().
The related tests need to initialize/destroy the threadpool accordingly
2010-01-23 06:57:14 +01:00
Christian Thaeter
9fc68c9d32
Merge remote branch 'public/nobug201001.2' into backend_devel
...
* public/nobug201001.2:
integrating nobug context passing
updates for nobug 201001.2
Conflicts:
configure.ac
src/lib/condition.h
src/lib/reccondition.h
tests/backend/test-threads.c
2010-01-23 06:56:39 +01:00