1.0.5.55: interrupt safe REFILL-BUFFER/FD
commite90d27e2998a6c97499f28a0a0b7a0cd2c43a447
authorNikodemus Siivola <nikodemus@random-state.net>
Sun, 20 May 2007 11:34:59 +0000 (20 11:34 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Sun, 20 May 2007 11:34:59 +0000 (20 11:34 +0000)
treef07d2500ea945c8394b2534c0005440524882f1b
parent865b14b240c20c335c750d2d3a62a7cfc0767bc0
1.0.5.55: interrupt safe REFILL-BUFFER/FD

 * Check for blocking / wait for new input before touching the stream.

 * Check that the SAP is still there after the wait, in case an interrupt
   handler or an FD handler closed the stream from under us.

 * Wrap the main action in WITHOUT-INTERRUPTS to prevent asynch unwinds
   from leaving the stream in an inconsistent state. (Since the read
   is going to be non-blocking it should be over soon enough.)

 * Arrange to signal errors outside the WITHOUT-INTERRUPTS.
src/code/fd-stream.lisp
version.lisp-expr