async exception safety for openFd

Audited for openFile and openFd, and this fixes all the ones I found
where an async exception could prevent the file getting closed.

Except for the lock pool, which is a whole other can of worms.
This commit is contained in:
Joey Hess 2020-06-05 15:46:01 -04:00
parent 1dd770b1af
commit 0210e81d83
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
5 changed files with 35 additions and 13 deletions

View file

@ -0,0 +1,17 @@
[[!comment format=mdwn
username="joey"
subject="""comment 15"""
date="2020-06-05T19:00:07Z"
content="""
Some progress: All threads that `async` or `forkOS` starts are now
confirmed to get shut down when an async exception reaches the code that
uses them. All uses of SomeException are confirmed to not catch async
exceptions. All file opening is confirmed to bracket and close (except for
the lock pool).
Still to do:
* process things noted in comment #13
* data structures that get modified while an action is running and need
to be cleaned up on an async exception (eg the lock pool)
"""]]