commit | e885dee5ab4dbee2457ee2023340e848fdabdef9 | [log] [tgz] |
---|---|---|
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | Wed Jul 25 11:44:46 2018 -0300 |
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | Wed Jul 25 11:44:46 2018 -0300 |
tree | 1b9a4ac5a9a4d62edfcb99d5fc2416794dcef174 | |
parent | ccae0f5aad11b448fa630a41b2c7c54e69d134d8 [diff] |
File operations try an "emergency collection" when failing If a file operation fails do to lack of resources (too many open files or not enough memory), it does a full garbage collection and tries the operation again. Lack of resources are "too many open files" (process wise and system wise) and "not enough memory". The code is full of '#if's because error codes are not part of the standard ISO C.