On 08/25/2013 07:40 PM, Peter A. Bigot wrote:
From: "Peter A. Bigot" <[email protected]>

qemu.bbclass adds PSEUDO_UNLOAD=1 in qemu_run_binary to avoid reference to
pseudo functions that may not exist in the target environment.  This patch
detects the addition of that variable within the environment to which the
call applies, even if not present in the parent environment.

As a side effect it fixes a memory leak.

[YOCTO #4843]

Some explanation because this one bothers me:

I ran into bug #4843 when building core-image-minimal on an Ubuntu 12.04 host under x86_64, where the RPM post-install script for udev-hwdb ran udevadm under qemu-arm. I added some debug code to pseudo and determined that pseudo_dropenv() was not being invoked for these commands, making the presence of PSEUDO_UNLOAD=1 irrelevant.

I discovered that the code that implements the unload didn't look at the environment that applied to the operation, only to the environment in which pseudo was being run. I also noticed that the need-to-unload code appears to have a memory leak.

Please look this over; it does work for me, and it seems like the right approach, but it also seems like the approach couldn't possibly have worked in the past and should have been detected before so maybe there's something else going on my environment.

Peter
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to