|
[Sbcl-commits] CVS: sbcl/src/code unix.lisp,1.112,1.113
From: Nikodemus Siivola <demoss@us...> - 2010-09-30 07:38
|
Update of /cvsroot/sbcl/sbcl/src/code
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv4858/src/code
Modified Files:
unix.lisp
Log Message:
1.0.43.4: deal with interrupted open(2) calls
Particularly if the other end is a FIFO, it isn't all that
hard to get interrupted before open() completes.
Index: unix.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/unix.lisp,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -d -r1.112 -r1.113
--- unix.lisp 27 Sep 2010 23:42:12 -0000 1.112
+++ unix.lisp 30 Sep 2010 07:38:07 -0000 1.113
@@ -156,12 +156,13 @@
(declare (type unix-pathname path)
(type fixnum flags)
(type unix-file-mode mode))
- (int-syscall ("open" c-string int int)
- path
- (logior #!+win32 o_binary
- #!+largefile o_largefile
- flags)
- mode))
+ (with-restarted-syscall (value errno)
+ (int-syscall ("open" c-string int int)
+ path
+ (logior #!+win32 o_binary
+ #!+largefile o_largefile
+ flags)
+ mode)))
;;; UNIX-CLOSE accepts a file descriptor and attempts to close the file
;;; associated with it.
|
| Thread | Author | Date |
|---|---|---|
| [Sbcl-commits] CVS: sbcl/src/code unix.lisp,1.112,1.113 | Nikodemus Siivola <demoss@us...> |