diff options
Diffstat (limited to 'cpp/bindings/qpid/dotnet/src/Receiver.cpp')
| -rw-r--r-- | cpp/bindings/qpid/dotnet/src/Receiver.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/cpp/bindings/qpid/dotnet/src/Receiver.cpp b/cpp/bindings/qpid/dotnet/src/Receiver.cpp index 4c9062866d..3c0d79b393 100644 --- a/cpp/bindings/qpid/dotnet/src/Receiver.cpp +++ b/cpp/bindings/qpid/dotnet/src/Receiver.cpp @@ -72,14 +72,20 @@ namespace Messaging { // Destructor
Receiver::~Receiver()
{
- Cleanup();
+ this->!Receiver();
}
// Finalizer
Receiver::!Receiver()
{
- Cleanup();
+ msclr::lock lk(this);
+
+ if (NULL != receiverp)
+ {
+ delete receiverp;
+ receiverp = NULL;
+ }
}
@@ -107,17 +113,6 @@ namespace Messaging { }
- // Destroys kept object
- // TODO: add lock
- void Receiver::Cleanup()
- {
- if (NULL != receiverp)
- {
- delete receiverp;
- receiverp = NULL;
- }
- }
-
//
// Get(message)
//
|
