Fix CIDs 350452, 323467 (missing_lock)

This commit is contained in:
Alexey Rybalchenko 2020-01-14 11:54:25 +01:00 committed by Dennis Klein
parent 38bb14e556
commit a1e0814a92

View File

@ -133,26 +133,31 @@ FairMQChannel::FairMQChannel(const FairMQChannel& chan, const string& newName)
FairMQChannel& FairMQChannel::operator=(const FairMQChannel& chan) FairMQChannel& FairMQChannel::operator=(const FairMQChannel& chan)
{ {
fTransportFactory = nullptr; {
fTransportType = chan.fTransportType; lock_guard<mutex> lock1(fMtx);
fSocket = nullptr; lock_guard<mutex> lock2(chan.fMtx);
fName = chan.fName;
fType = chan.fType; fTransportFactory = nullptr;
fMethod = chan.fMethod; fTransportType = chan.fTransportType;
fAddress = chan.fAddress; fSocket = nullptr;
fSndBufSize = chan.fSndBufSize; fName = chan.fName;
fRcvBufSize = chan.fRcvBufSize; fType = chan.fType;
fSndKernelSize = chan.fSndKernelSize; fMethod = chan.fMethod;
fRcvKernelSize = chan.fRcvKernelSize; fAddress = chan.fAddress;
fLinger = chan.fLinger; fSndBufSize = chan.fSndBufSize;
fRateLogging = chan.fRateLogging; fRcvBufSize = chan.fRcvBufSize;
fPortRangeMin = chan.fPortRangeMin; fSndKernelSize = chan.fSndKernelSize;
fPortRangeMax = chan.fPortRangeMax; fRcvKernelSize = chan.fRcvKernelSize;
fAutoBind = chan.fAutoBind; fLinger = chan.fLinger;
fIsValid = false; fRateLogging = chan.fRateLogging;
fMultipart = chan.fMultipart; fPortRangeMin = chan.fPortRangeMin;
fModified = chan.fModified; fPortRangeMax = chan.fPortRangeMax;
fReset = false; fAutoBind = chan.fAutoBind;
fIsValid = false;
fMultipart = chan.fMultipart;
fModified = chan.fModified;
fReset = false;
}
return *this; return *this;
} }