summaryrefslogtreecommitdiff
path: root/package/hotplug2/patches/100-env_memleak.patch
AgeCommit message (Collapse)Author
2010-03-26package/hotplug2: refresh patchesjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20462 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-09Fix a memory leak in hotplug2 environment handling.nbd
Bump hotplug2 to the latest svn revision, remove obsolete patches. Memory leak is caused by the way hotplug2 handles environment variables, using setenv() and unsetenv(). setenv() creates copies of the supplied strings, but, due to a POSIX blunder, these copies are never destroyed by unsetenv(), neither in glibc nor uclibc - not until the program terminates. Since some events are handled directly in the main process, even when configured with the "fork" worker, hotplug2 memory usage will keep growing over time. This can be observed by running "udevtrigger" and noting the increase in hotplug2 VmRSS after each run. This patch uses putenv() instead, which leaves storage management to the caller, so that we can explicitly delete stuff when it's no longer needed. Signed-off-by: Aleksandar Radovanovic <biblbroks@sezampro.rs> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18725 3c298f89-4303-0410-b956-a3cf2f4a3e73