diff options
author | dusoleil <howcansocksbereal@gmail.com> | 2021-09-07 02:36:54 -0400 |
---|---|---|
committer | dusoleil <howcansocksbereal@gmail.com> | 2021-09-07 02:36:54 -0400 |
commit | c43b676086f26edb1ea989b255e0eaf356c8ad5a (patch) | |
tree | 82bdc597f1466989e831dd2dcd9d15f49ce8bfbd /wordlists | |
parent | 159eb86f979716b2e0c6d819b1ca598441c9ddf9 (diff) | |
download | lib-des-gnux-c43b676086f26edb1ea989b255e0eaf356c8ad5a.tar.gz lib-des-gnux-c43b676086f26edb1ea989b255e0eaf356c8ad5a.zip |
Manually run garbage collection after exec
Apparently python won't run garbage collection on stuff owned by the
exec context if you define a function in the exec. This can lead to
random leaks, but it is most impactful in daemon mode. If the globals
dictionary given to exec isn't cleaned up, there will be a random
reference to comm that still exists. This holds a reference to the
Pipes object which prevents it from getting cleaned up before we try to
make a new one. Making a new one needs the fifos to have been cleaned
up, so it relies on the fact that the old one was supposed to be
cleaned up.
The most straightforward and non-intrusive way I could think to fix this
was to just manually run the garbage collector after exec. This is able
to find the leaked references and clean it all up.
Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
Diffstat (limited to 'wordlists')
0 files changed, 0 insertions, 0 deletions