Interrupt safety around opening file descriptors & other changes.
commit16e641f79f7f0e3e45357ff8cd3399275a5fcc2f
authorRichard M Kreuter <kreuter@progn.net>
Mon, 28 Jan 2008 21:17:29 +0000 (28 16:17 -0500)
committerRichard M Kreuter <kreuter@progn.net>
Tue, 29 Jan 2008 00:03:36 +0000 (28 19:03 -0500)
tree2bc77f97774b226ceeec3c8cf5f023c4e6394127
parentf2e994d41ffd290e5c2d545334ed9c81ae342b69
Interrupt safety around opening file descriptors & other changes.

* Unlink newly created files during OPEN-FILE if something goes wrong.

* CLOSE the stream during OPEN if the initilization function errors.

* Introduce a wrapper around close() to handle EINTR and simplify
  erroring when close() fails.

* Make the :MODE argument require the caller to supply
  :ALLOW-OTHER-KEYS T.

* Make the :IF-EXISTS :TRUNCATE action available only in builds with
  :CDR-5 in *FEATURES*.

* Document in base-target-features.lisp the 3 build-time features used
  in fd-stream.lisp.

* I haven't been able to reproduce the heisenbug that existed before
  a99550b344ee7f72505f8bf5bab1eb996441b782; either it's gone, or
  has become much subtler.
base-target-features.lisp-expr
contrib/sb-simple-streams/file.lisp
contrib/sb-simple-streams/package.lisp
src/code/fd-stream.lisp
src/compiler/fndb.lisp