mirror of https://github.com/fail2ban/fail2ban
close Popen() pipes explicitly for PyPy
Waiting for garbage collection to close pipes opened by Popen() can lead to "Too many open files" errors with PyPy; close them explicitly.pull/2638/head
parent
e57e950ef5
commit
df885586d4
|
@ -32,6 +32,7 @@ ver. 0.10.6-dev (20??/??/??) - development edition
|
|||
IPv6-capable now.
|
||||
|
||||
### Fixes
|
||||
* restoring a large number (500+ depending on files ulimit) of current bans when using PyPy fixed
|
||||
|
||||
### New Features
|
||||
|
||||
|
|
|
@ -260,7 +260,6 @@ class Utils():
|
|||
if stdout is not None and stdout != '' and std_level >= logSys.getEffectiveLevel():
|
||||
for l in stdout.splitlines():
|
||||
logSys.log(std_level, "%x -- stdout: %r", realCmdId, uni_decode(l))
|
||||
popen.stdout.close()
|
||||
if popen.stderr:
|
||||
try:
|
||||
if retcode is None or retcode < 0:
|
||||
|
@ -271,7 +270,8 @@ class Utils():
|
|||
if stderr is not None and stderr != '' and std_level >= logSys.getEffectiveLevel():
|
||||
for l in stderr.splitlines():
|
||||
logSys.log(std_level, "%x -- stderr: %r", realCmdId, uni_decode(l))
|
||||
popen.stderr.close()
|
||||
popen.stdout.close()
|
||||
popen.stderr.close()
|
||||
|
||||
success = False
|
||||
if retcode in success_codes:
|
||||
|
|
Loading…
Reference in New Issue