Subject | Re: [IBO] Enhancement Suggestion: Client Libraries |
---|---|
Author | Geoff Worboys |
Post date | 2005-07-14T00:48:36Z |
Hi Jason,
1. IBO will not try to load the library until it needs it.
(eg: makes a connection, starts a monitor or calls GetISC4Path)
This part seems to work well and so I can reliably specify an
overriding library name (through assigning a custom function to
a global function pointer used by the AcquireOriginalHooks
method).
2. Methods available to force IBO to unload the library, so
that the next library relevant request would then reload the
library - possibly getting a different one this time around.
No attempt has been made to try and make this "safe". It would
be up to the caller to ensure that there are no active
connections (easily done in single thread prog) and no active
monitors (not so easy at this time).
I see this as an adequate solution. Anyone wanting to allow
a library to be unloaded will need to do various things in the
application to make it feasible.
If you want to see these changes let me know and I will email
them to you.
--
Geoff Worboys
Telesis Computing
> You are definitely on the right track.I have a functional implementation here now. My changes are:
> IBO is very close to doing what you want, it just has
> troubles with the SQL trace monitor because it has to use
> global hooks instead of its own local hooks.
1. IBO will not try to load the library until it needs it.
(eg: makes a connection, starts a monitor or calls GetISC4Path)
This part seems to work well and so I can reliably specify an
overriding library name (through assigning a custom function to
a global function pointer used by the AcquireOriginalHooks
method).
2. Methods available to force IBO to unload the library, so
that the next library relevant request would then reload the
library - possibly getting a different one this time around.
No attempt has been made to try and make this "safe". It would
be up to the caller to ensure that there are no active
connections (easily done in single thread prog) and no active
monitors (not so easy at this time).
I see this as an adequate solution. Anyone wanting to allow
a library to be unloaded will need to do various things in the
application to make it feasible.
If you want to see these changes let me know and I will email
them to you.
--
Geoff Worboys
Telesis Computing