Hi,

I am facing a issue: When should driver elements (enumerators-classes,
enumerators, drivers) be probed at startup:
My initial idea was to perform probing at init global time, so that a
starting app would have a chance to see the present interfaces at
startup:
This turns out to be a problem as many things are not yet usable at
global init time: thread, some locks... And I do not like the idea to
have the probing function of each driver being in the need to
distinguish between global init time probing and on the run
probing...( a driver would very likely need synchronisation mechanisms
and the latter would only be usable after the initial probing... not
nice)
The other alternative is to do all this at local init time: but that
would require a guarantee that the ODP instantiation process
init_local() function is called before any other thread init_local().
I could not find such requirement in the API description.Otherwise
application may have finished starting up before the drivers are
loaded...

Is this an indication that the current 2 step booting process is too weak?
I actually faced a similar problem with _ishm where there is now a
"hack" to run what should have been part of the instantiation process
local init at the global init time instead: Because other blocks are
assuming that _ishm is fully functional at global_init_time...

Other facing similar issues and having ideas?

Christophe

Reply via email to