diff options
| -rw-r--r-- | qpid/wcf/src/Apache/Qpid/Interop/CompletionWaiter.cpp | 6 | ||||
| -rw-r--r-- | qpid/wcf/src/Apache/Qpid/Interop/MessageWaiter.cpp | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/qpid/wcf/src/Apache/Qpid/Interop/CompletionWaiter.cpp b/qpid/wcf/src/Apache/Qpid/Interop/CompletionWaiter.cpp index 4f6746828d..e39ee1b1ae 100644 --- a/qpid/wcf/src/Apache/Qpid/Interop/CompletionWaiter.cpp +++ b/qpid/wcf/src/Apache/Qpid/Interop/CompletionWaiter.cpp @@ -53,11 +53,13 @@ CompletionWaiter::CompletionWaiter(AmqpSession^ parent, TimeSpan timeSpan, IntPt this->qpidFuture = future; this->asyncCallback = callback; this->state = state; + this->parent = parent; + this->thisLock = gcnew Object(); + // do this after the Completion Waiter is fully initialized, in case of + // very small timespan if (timeSpan != TimeSpan::MaxValue) { this->timer = gcnew Timer(timeoutCallback, this, timeSpan, TimeSpan::FromMilliseconds(-1)); } - this->parent = parent; - this->thisLock = gcnew Object(); } diff --git a/qpid/wcf/src/Apache/Qpid/Interop/MessageWaiter.cpp b/qpid/wcf/src/Apache/Qpid/Interop/MessageWaiter.cpp index 4868b9efce..f7a28b0692 100644 --- a/qpid/wcf/src/Apache/Qpid/Interop/MessageWaiter.cpp +++ b/qpid/wcf/src/Apache/Qpid/Interop/MessageWaiter.cpp @@ -60,11 +60,14 @@ MessageWaiter::MessageWaiter(InputLink^ parent, TimeSpan timeSpan, bool consumin else { this->assigned = true; } + this->parent = parent; + this->thisLock = gcnew Object(); + + // do this after the Message Waiter is fully initialized, in case of + // very small timespan if (timeSpan != TimeSpan::MaxValue) { this->timer = gcnew Timer(timeoutCallback, this, timeSpan, TimeSpan::FromMilliseconds(-1)); } - this->parent = parent; - this->thisLock = gcnew Object(); } MessageWaiter::~MessageWaiter() |
