共享指针重置后销毁两次

问题描述 投票:0回答:0

这里是源代码:

    unique_lock<mutex> lock(_activeFQDNMutex);
    activeFQDNs.swap(shadowFQDNs);
    shadowFQDNs.reset(new TrieRegexInterface());

重置后,有一个core文件,其中显示shadowFQDNs指向的对象被破坏了两次。

有人有想法吗?

我怀疑在交换调用之后,activeFQDNs 指向的对象是否可以被另一个共享指针引用,因为shadowFQDNs 尚未被锁定。

shared-ptr destructor swap reset
© www.soinside.com 2019 - 2024. All rights reserved.