Hi Canh, Ack.
Thanks, Vu > -----Original Message----- > From: Canh Van Truong [mailto:[email protected]] > Sent: Thursday, November 23, 2017 11:47 AM > To: [email protected]; [email protected]; > [email protected] > Cc: [email protected]; Canh Van Truong > <[email protected]> > Subject: [PATCH 1/1] log: fix coredump when stop cluster [#2700] > > The problem happen because the iterator after erasing the element will be > invalid. > > The patch fix to increase the iterator before delete client > --- > src/log/logd/lgs_evt.cc | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/log/logd/lgs_evt.cc b/src/log/logd/lgs_evt.cc > index 94a94b646..c01680c49 100644 > --- a/src/log/logd/lgs_evt.cc > +++ b/src/log/logd/lgs_evt.cc > @@ -333,9 +333,9 @@ int lgs_client_delete_by_mds_dest(MDS_DEST > mds_dest, time_t *closetime_ptr) { > TRACE_ENTER2("mds_dest %" PRIx64, mds_dest); > /* Loop through Client DB */ > ClientMap *clientMap(reinterpret_cast<ClientMap *>(client_db)); > - for (const auto &value : *clientMap) { > - rp = value.second; > - > + for (auto it = clientMap->begin(); it != clientMap->end(); ) { > + rp = it->second; > + it++; > if (m_NCS_MDS_DEST_EQUAL(&rp->mds_dest, &mds_dest)) > rc = lgs_client_delete(rp->client_id, closetime_ptr); > } > -- > 2.13.0 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
