File tree 1 file changed +6
-1
lines changed
1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -580,6 +580,12 @@ void RemoteQueue::close()
580
580
// (unless StopRequest has timed out) all downstreams have closed all
581
581
// queues.
582
582
583
+ // `close()` might be called multiple times
584
+ if (!d_self.isValid ()) {
585
+ return ; // RETURN
586
+ }
587
+ d_self.invalidate ();
588
+
583
589
size_t numMessages = erasePendingMessages (d_pendingMessages.end ());
584
590
585
591
BALL_LOG_INFO << d_state_p->uri () << " : erased all " << numMessages
@@ -588,7 +594,6 @@ void RemoteQueue::close()
588
594
589
595
BSLS_ASSERT_SAFE (d_pendingMessages.size () == 0 );
590
596
591
- d_self.invalidate ();
592
597
if (d_pendingMessagesTimerEventHandle) {
593
598
scheduler ()->cancelEventAndWait (&d_pendingMessagesTimerEventHandle);
594
599
// 'expirePendingMessagesDispatched' does not restart timer if
You can’t perform that action at this time.
0 commit comments