Brian,
I have 2 things I want to ask you about the 'invalidate-me' condition:
- Did you consider closing the stream which has to be invalidated next to invalidating the handle? That way callers will know the input-reading subsystem gave up on that stream.
- The invalidate-me condition can leak from the package, because in any of the cases not addressed by #+(and sbcl (not sb-thread)) the condition will not be cought within the package. Yet the symbol has not been exported. Did you plan to keep the condition within the package?
bye,
Erik.