Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23d004ca authored by Misha Wagner's avatar Misha Wagner
Browse files

Fix directory iteration when path disappears.

When iterating across `proc` directories, occasionally a directory would
disappear due to a process finishing. This often throws `IOException`
when accessing the directory, but can throw `DirectoryIteratorException`
if this happens during iteration:

  java.nio.file.DirectoryIteratorException: java.nio.file.NoSuchFileException: /proc/8708/task

This change catches `DirectoryIteratorException`.

Test: Build only (bug is difficult to reproduce).
Bug: 150888564

Change-Id: I7484d28231d0040b25dafc59b12b64a9342098a4
(cherry picked from commit 52474456)
parent 5191bb75
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.Preconditions;

import java.io.IOException;
import java.nio.file.DirectoryIteratorException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -276,7 +277,7 @@ public class KernelCpuThreadReader {
                }
                threadCpuUsages.add(threadCpuUsage);
            }
        } catch (IOException e) {
        } catch (IOException | DirectoryIteratorException e) {
            // Expected when a process finishes
            return null;
        }