Ticket #17 (closed enhancement: fixed)

Opened 11 years ago

Last modified 10 years ago

Enable run-time resource registration

Reported by: dkimpe Owned by:
Priority: minor Component: aesop functions
Version: git repository Keywords:


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

Change History

comment:1 Changed 10 years ago by carns

  • Status changed from new to closed
  • Resolution set to fixed

This is completed in the devel branch. Resources can be initialized and finalized at any time and are registered with dynamically within Aesop.

Note: See TracTickets for help on using tickets.