[Xorp-cvs] XORP cvs commit: xorp/libxipc

Pavlin Radoslavov pavlin@icir.org
Sat, 9 Jul 2005 02:27:51 GMT


CVSROOT:	/usr/local/share/doc/apache/cvs
Module name:	xorp
Changes by:	pavlin@xorpc.icir.org	2005-07-09 02:27:51 UTC

XORP CVS repository


Modified files:
	libxipc       test_finder_messenger.cc 

Log message:
	Fix the ~DummyFinder() destructor so now it deletes properly
	the _messenger.
	
	Previously, the problem was that if we delete _messenger, its
	~FinderTcpMessenger destructor tries to use a pointer to its manager()
	to announce the messenger's death event.
	However, at the time we call the ~DummyFinder destructor the _messenger's
	manager() pointer may be invalid because the manager() may have been
	deleted.
	
	Hence, the solution is to unhook the _messenger's manager() before
	deleting the _messenger itself inside the ~DummyFinder().
	
	Note that the above problem applies only for this particular test
	which defines internally the DummyFinder, and the libxipc library
	itself should be fine.

Revision  Changes                               Path
1.14      +6 -13;  commitid: 45df42cf33997ea6;  xorp/libxipc/test_finder_messenger.cc