LinkModules should release ownership of the other module when not preserving

This commit is contained in:
Siu Kwan Lam 2013-02-16 21:54:12 -06:00
commit 1647580a41

View file

@ -41,7 +41,7 @@ class Linker:
PyObjectPtr, # errmsg
)
LinkModules = CustomStaticMethod('Linker_LinkModules',
_LinkModules = CustomStaticMethod('Linker_LinkModules',
PyObjectPtr, # boolean
ptr(Module),
ptr(Module),
@ -49,3 +49,10 @@ class Linker:
PyObjectPtr, # errsg
)
@CustomPythonStaticMethod
def LinkModules(module, other, mode, errmsg):
failed = Linker._LinkModules(module, other, mode, errmsg)
if not failed and mode != Linker.LinkerMode.PreserveSource:
capsule.release_ownership(other._ptr)
return failed