diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-02-15 22:55:51 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-02-27 14:08:11 +0100 |
commit | a861d7d5bd997d0776f840847186fc198e87e1d9 (patch) | |
tree | 6a4e8d18632748c68088b1f08861bfdca06b4973 | |
parent | f5a15cab510178d46ea5dc7a79fd7bb96fd679f3 (diff) | |
download | cuirass-a861d7d5bd997d0776f840847186fc198e87e1d9.tar cuirass-a861d7d5bd997d0776f840847186fc198e87e1d9.tar.gz |
logging: "Defensive programming" for 'log-monitoring-stats'.
I've seen 'scandir' report #f once, even though that's theoretically
impossible.
* src/cuirass/logging.scm (log-monitoring-stats): Return '() if
'scandir' returns #f.
-rw-r--r-- | src/cuirass/logging.scm | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cuirass/logging.scm b/src/cuirass/logging.scm index 12d156c..6258eed 100644 --- a/src/cuirass/logging.scm +++ b/src/cuirass/logging.scm @@ -71,6 +71,9 @@ (/ (assoc-ref (gc-stats) 'heap-size) (expt 2. 20)) (length (all-threads)) (length - (scandir "/proc/self/fd" - (lambda (file) - (not (member file '("." "..")))))))) + ;; In theory 'scandir' cannot return #f, but in practice, + ;; we've seen it before. + (or (scandir "/proc/self/fd" + (lambda (file) + (not (member file '("." ".."))))) + '())))) |