Skip to content

Commit 5a55de7

Browse files
authored
Unlink error paths (#35)
* Do now swallow errors on unlink when rmdir set * More precise onrmdir error paths
1 parent 51482fe commit 5a55de7

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,13 +229,18 @@ module.exports = class RandomAccessFile extends RandomAccessStorage {
229229
// if the file isn't there, its already unlinked, ignore
230230
if (err && err.code === 'ENOENT') err = null
231231

232-
if (!self._rmdir || !root || dir === root) return req.callback(err)
232+
if (err || !self._rmdir || !root || dir === root) return req.callback(err)
233233
fs.rmdir(dir, onrmdir)
234234
}
235235

236236
function onrmdir (err) {
237237
dir = path.join(dir, '..')
238-
if (err || dir === root) return req.callback(null)
238+
239+
const isAlreadyUnlinked = err && err.code === 'ENOENT'
240+
const isNotEmpty = err && err.code === 'ENOTEMPTY'
241+
if (isAlreadyUnlinked || isNotEmpty || dir === root) return req.callback(null)
242+
243+
if (err) return req.callback(err)
239244
fs.rmdir(dir, onrmdir)
240245
}
241246
}

0 commit comments

Comments
 (0)