Handle disappearing pids in mlock_report.py
If a pid disappears on us while we're reading, we should just continue on. EnvironmentError is just an alias for OSError since Python 3.3, so use the latter name. [0] [0] https://docs.python.org/3/library/exceptions.html#OSError Change-Id: I3a25cca328e1469f72c84a118a9691c1c0258bc4 Closes-Bug: #1926434
This commit is contained in:
parent
c062792709
commit
b02a43291c
@ -24,17 +24,19 @@ def _get_report():
|
||||
# iterate over the /proc/%pid/status files manually
|
||||
try:
|
||||
s = open("%s/%d/status" % (psutil.PROCFS_PATH, proc.pid), 'r')
|
||||
except EnvironmentError:
|
||||
with s:
|
||||
for line in s:
|
||||
result = LCK_SUMMARY_REGEX.search(line)
|
||||
if result:
|
||||
locked = int(result.group('locked'))
|
||||
if locked:
|
||||
mlock_users.append({'name': proc.name(),
|
||||
'pid': proc.pid,
|
||||
'locked': locked})
|
||||
except OSError:
|
||||
# pids can disappear, we're ok with that
|
||||
continue
|
||||
with s:
|
||||
for line in s:
|
||||
result = LCK_SUMMARY_REGEX.search(line)
|
||||
if result:
|
||||
locked = int(result.group('locked'))
|
||||
if locked:
|
||||
mlock_users.append({'name': proc.name(),
|
||||
'pid': proc.pid,
|
||||
'locked': locked})
|
||||
|
||||
|
||||
# produce a single line log message with per process mlock stats
|
||||
if mlock_users:
|
||||
|
Loading…
Reference in New Issue
Block a user