--- /dev/null
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 9"""
+ date="2020-02-20T18:31:59Z"
+ content="""
+Hmm, the reason I'm not worried about leaking open FDs
+when killing threads is because `bracket` is generally used
+when opening files, with a cleanup action that closes them.
+(when not doing lazy IO and letting the GC close the file once the value
+goes out of scope). So when a thread is canceled, the cleanup actions
+automatically run.
+
+So what's needed is a way to use `bracket` for the non-interactive,
+non-pooled processes.
+
+Currently processes are run by things like `safeSystem`
+and `readProcess`, neither of which use a bracketing operation.
+But they could use a bracketOnError with an cleanup action that
+is passed the pid and kill -9's it.
+
+That avoids the registration and the child thread problem.
+"""]]