summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2005-06-13 16:12:20 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2005-06-13 16:12:20 +0000
commit303de1936216d9f9fc3d98f116fd1ecec5811572 (patch)
tree2740aafed330de7ba562cb7ce9bc9685a1183da2 /TAO/orbsvcs/orbsvcs
parentf8ca026122fdb8e3b4e6fe049f409ca4a83065ba (diff)
downloadATCD-303de1936216d9f9fc3d98f116fd1ecec5811572.tar.gz
ChangeLogTag:Mon Jun 13 05:07:32 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs')
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h14
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp6
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h1
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i5
5 files changed, 26 insertions, 4 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
index 2cd91ec89cd..a9845410bd8 100644
--- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
+++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
@@ -59,6 +59,10 @@ AV_Null_MediaCtrl::AV_Null_MediaCtrl (void)
{
}
+AV_Null_MediaCtrl::~AV_Null_MediaCtrl (void)
+{
+}
+
// ----------------------------------------------------------------------
// TAO_Basic_StreamCtrl
diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h
index c0e4c25b14b..38562894bad 100644
--- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h
+++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h
@@ -1,4 +1,4 @@
-// -*- C++
+// -*- C++ -*-
//=============================================================================
/**
@@ -65,6 +65,11 @@ class TAO_AV_Export AV_Null_MediaCtrl
{
public:
AV_Null_MediaCtrl (void);
+
+protected:
+
+ virtual ~AV_Null_MediaCtrl (void);
+
};
/**
@@ -82,9 +87,6 @@ public:
/// Default Constructor
TAO_Basic_StreamCtrl (void);
- /// Destructor.
- virtual ~TAO_Basic_StreamCtrl (void);
-
/// Stop the transfer of data of the stream
/// Empty the_spec means apply operation to all flows
virtual void stop (const AVStreams::flowSpec &the_spec
@@ -152,6 +154,10 @@ public:
protected:
+ /// Destructor.
+ virtual ~TAO_Basic_StreamCtrl (void);
+
+
/// The Virtual Devices for this stream
AVStreams::VDev_var vdev_a_;
AVStreams::VDev_var vdev_b_;
diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp
index 9886212697f..671fd744b45 100644
--- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp
+++ b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp
@@ -32,6 +32,7 @@ TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (void)
use_flow_protocol_ (0),
entry_ (),
is_multicast_ (0),
+ delete_peer_addr_ (false),
peer_addr_ (0),
local_sec_addr_ (0),
num_local_sec_addrs_ (0),
@@ -72,6 +73,7 @@ TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (const char *flowname,
use_flow_protocol_ (0),
entry_ (),
is_multicast_ (0),
+ delete_peer_addr_ (false),
peer_addr_ (0),
local_sec_addr_ (0),
num_local_sec_addrs_ (0),
@@ -136,6 +138,9 @@ TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (const char *flowname,
// Destructor.
TAO_FlowSpec_Entry::~TAO_FlowSpec_Entry (void)
{
+ if (this->delete_peer_addr_)
+ delete this->peer_addr_;
+
if (this->clean_up_address_)
delete address_;
if (this->clean_up_control_address_)
@@ -587,6 +592,7 @@ TAO_Forward_FlowSpec_Entry::parse (const char *flowSpec_entry)
ACE_INET_Addr (tokenizer [TAO_AV_PEER_ADDR]),
0);
}
+ this->delete_peer_addr_ = true;
this->peer_addr_ = addr;
char buf [BUFSIZ];
diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h
index e171286341a..b605ebe401b 100644
--- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h
+++ b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h
@@ -239,6 +239,7 @@ protected:
ACE_CString entry_;
int is_multicast_;
+ bool delete_peer_addr_;
ACE_Addr *peer_addr_;
char** local_sec_addr_;
int num_local_sec_addrs_;
diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i
index c1fcb42993d..fcc386e30d5 100644
--- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i
+++ b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i
@@ -136,7 +136,12 @@ ACE_INLINE
int
TAO_FlowSpec_Entry::set_peer_addr (ACE_Addr *peer_addr)
{
+ if (this->delete_peer_addr_)
+ delete this->peer_addr_;
+
+ this->delete_peer_addr_ = false;
this->peer_addr_ = peer_addr;
+
if (this->handler_ != 0)
this->handler_->set_remote_address (peer_addr);
return 0;