Re: [Quickfix-developers] quickfix memory leak
Brought to you by:
orenmnero
From: <or...@qu...> - 2014-09-12 15:53:17
|
We have been pretty conservative up until this point, but that was largely due to how poor and divergent compilers were when the project first started. I'm talking right in the bad old days of gcc "2.96". Any advanced feature supported by one compiler version, was probably non-existent in others. We are also starting to get more aggressive dropping out of date toolchains. We supported VS6 for a long long time, but we now only supports VS10 and up. The philosophy on the whole has been to get quickfix up and running for people with as few dependencies as possible. That left libraries like boost out. I don't want anyone to have to depend on such a large and complicated dependency to use the library. Since std::shared_ptr comes with most compilers nowadays, I'm happy to start using it. With the latest 1.14.1 coming out, we were able to drop the dependencies on libxml2 and msxml. This made our PyPI installation a lot easier too. I feel that if anyone is running a legacy system that old, they must really love legacy software and can continue to use previous stable releases of QuickFIX. I'd really like to use more of C++11. In fact I was looking to convert all our std for loops to range based loops, but alas VS 2010 doesn't support them. They make the code so much cleaner. > -------- Original Message -------- > Subject: Re: [Quickfix-developers] quickfix memory leak > From: "K. Frank" <kfr...@gm...> > Date: Fri, September 12, 2014 8:44 am > To: Quickfix Developers List <qui...@li...> > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi Oren! > > On Fri, Sep 12, 2014 at 12:49 AM, <or...@qu...> wrote: > > > > So it turns out there was a leak here. The returned copies were not > > being stored in that collection and were never disposed of. I solved > > this right now by putting them in std::shared_ptr objects. > > ... > > I think it would be nice to be able to use some modern smart pointers. > > When the project was started back in 2001, there was really nothing > > standardized that was widely distributed other than the dependency > > monster boost. Now that there is I think it would help us avoid these > > types of memory pitfalls. > > I would personally advocate for the use of std::shared_ptr (and other > standard smart pointers, as appropriate), but, of course, this would > make QuickFIX (partially) dependent on c++11. > > For me, that's fine (in fact preferable), but I understand that many > users may have older toolchains that don't support the standard > smart pointers (or other c++11 / c++14 features). What's been the > QuickFIX philosophy about adopting new language features when > they're beneficial? > > > Thanks. > > > K. Frank > > > >> -------- Original Message -------- > >> Subject: Re: [Quickfix-developers] quickfix memory leak > >> > >> I don't see where this code can leak except program termination due to > >> missing cleanup for SessionFactoryu::m_dictionaries container. > >> ... > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |