fjricci added a comment.

Actually, I think this may open a new can of worms. Adding that flag to the API 
doesn't necessarily achieve what we want. The current bug is that we take a 
Python file (owned by the Python caller), and we know that the Python caller 
does not want to transfer ownership of the file. So inside of the swig logic, 
we make a copy of the file, which is owned by lldb (although really owned by 
nobody, since lldb doesn't take ownership of it).

This means that the problem is that we take an argument and change its owner, 
which then causes us to want different behavior from the API function we're 
calling. This is why the original swig worked, it didn't do anything to change 
the owner of the file, so it was consistent on both sides of the swig interface.

The only caller that would actually want to tell lldb to take ownership is the 
swig wrapper, not the Python itself. (What would it mean if the python caller 
decided to set that flag to true? Presumably we'd then have to take ownership 
of the python file object as well, which I don't think is something we want, 
and I don't think it would even be possible, given python garbage collection.)


http://reviews.llvm.org/D18459



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to