[C++-sig] memory leak with __iadd__

Nikolay Mladenov nikolay.mladenov at gmail.com
Thu Sep 26 19:18:04 CEST 2013


if you
.def ("test_iadd", &hist_t::operator+=, bp::return_self<>())

and you use it instead of += do you get the leak?


On Thu, Sep 26, 2013 at 10:44 AM, Neal Becker <ndbecker2 at gmail.com> wrote:

> Nikolay Mladenov wrote:
>
> > On Wed, Sep 25, 2013 at 11:22 AM, Neal Becker <ndbecker2 at gmail.com>
> wrote:
> >
> >> I've been trying to track down a memory leak.  When I use the following:
> >>
> >>  .def ("__iadd__", &hist_t::operator+=, bp::return_self<>())
> >>
> >
> > but this is no different then any other function def with return_self<>
> > policy (which i do a lot)?
> > when do you observe the leak? during def or during a+b in python?
> >
> >
>
> The leak must be in using +=.  The def is only executed once.  This is a
> big
> leak, causing eventual OOM.
>
> _______________________________________________
> Cplusplus-sig mailing list
> Cplusplus-sig at python.org
> https://mail.python.org/mailman/listinfo/cplusplus-sig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20130926/cb6af8db/attachment-0001.html>


More information about the Cplusplus-sig mailing list