Re: Abort at program end



Bowie Owens wrote:


The problem is that ORB::destroy() is not getting called on the ORB object. Other ORB implementations do this for you automatically. We don't. I'll see if I can fix this. I doubt it will be as easy as it sounds.

Turns out I was being a bit pessimistic. I've fixed this in CVS so that the C++ ORB ref counting stuff does a better job of talking to the C ORB ref counting. If you check out and build the latest version of orbitcpp in CVS, it should allow your program to run unchanged. Anonymous CVS is sometimes behind, you have the latest version if the ChangeLog includes the following entry:

2004-05-26 Bowie Owens <bowie owens csiro au>
       * test/cpp/any/simple/client.cc
       * test/cpp/arrays/simple_types/client.cc
       * test/cpp/arrays/simple_types/server.cc
       * test/cpp/helloworld/client.cc
       * test/cpp/helloworld/server.cc
       * test/cpp/poa/client.cc
       * test/cpp/poa/server.cc
       * test/cpp/sequences/atomic_types/client.cc
       * test/cpp/sequences/atomic_types/server.cc:
       Switch from ORB_ptr to ORB_var and rely on automatic destroy
       of ORB.

       * orbitcpp/orb-cpp/orbitcpp_orb.cc
       * orbitcpp/orb-cpp/orbitcpp_orb.h
       * orbitcpp/orb-cpp/orbitcpp_poa.cc:
       Change init_level rather than object reference count when
       _duplicate'ing and release'ing ORB's.

       * orbitcpp/orb-cpp/orbitcpp.h
       * orbitcpp/orb-cpp/Makefile.am
       * orbitcpp/orb-cpp/orbitcpp_var_smartptr.h:
       Removed deprecated code.

       * test/cpp/helloworld/client.cc:
       Clean up ORB using destroy() and don't leak any references.



--
Bowie Owens

CSIRO Mathematical & Information Sciences
phone  : +61 3 9545 8055
fax    : +61 3 9545 8080
mobile : 0425 729 875
email  : Bowie Owens csiro au





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]