Ticket #17 (closed enhancement: fixed)
Enable run-time resource registration
Reported by: | dkimpe | Owned by: | |
---|---|---|---|
Priority: | minor | Component: | aesop functions |
Version: | git repository | Keywords: | |
Cc: |
Description
Add support for 'runtime' resource registration.
Some notes:
- init and finalize might have to be blocking.
- Have to take care not to call hard blocking functions (for example pthread_join) from within the init/finalize functions.
This is needed to implement the functionality outlined below.
- we have some problems with components now:
- resources and non-resources are initialized differently in the aesop tree
- not clear when to initialize what
- have distinction between registering resource and initializing resource
- consensus:
- simplify things and make the following changes:
- every component (even resources) has an explicit, directly callable init function
- apps/servers/testprograms will explicitly call the init functions that they need
- if a component depends on something else (like rosd -> tosd -> bdb) then the compent should initialize the things it needs
- do reference counting in every init/finalize function so that we don't break when init is called twice
- have resources "register" with aesop when you initialize them
- simplify things and make the following changes:
Change History
Note: See
TracTickets for help on using
tickets.
This is completed in the devel branch. Resources can be initialized and finalized at any time and are registered with dynamically within Aesop.