[omniORB] nil object destruction

Renzo Tomaselli renzo.tomaselli@tecnotp.it
Mon Feb 3 17:16:01 2003


Hi all,
    I noticed an unpleasant issue in OmniORB 4.0 which did not occur in any
previous version. As far as I understand, all nil objrefs are collected
throughout the process life into a global vector.
Then they are released altogether as a consequence of a static object
destruction (_omniFinalCleanup, in omniinternal.cc), e.g. at runtime
cleanup.
This strategy does not work when any of such nils belongs to a dynamic
service which has been discarded from memory because of a shutdown procedure
or because it was discarded on demand during process lifecycle: then the nil
points to garbage, and an access violation is granted for sure.
Can anyone comment on that ? Thanks,

Renzo Tomaselli