[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] [PATCH 4/8] Deduplicate the Unix and Windows chicken.e
From: |
Evan Hanson |
Subject: |
[Chicken-hackers] [PATCH 4/8] Deduplicate the Unix and Windows chicken.errno module definitions |
Date: |
Thu, 2 Mar 2017 21:50:40 +1300 |
Stubs EWOULDBLOCK on Windows so that the module only needs to be
declared once.
---
posix.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
posixunix.scm | 44 --------------------------------------------
posixwin.scm | 47 ++++-------------------------------------------
3 files changed, 47 insertions(+), 87 deletions(-)
diff --git a/posix.scm b/posix.scm
index c844366a..6e4ffad4 100644
--- a/posix.scm
+++ b/posix.scm
@@ -44,3 +44,46 @@
(include "posixunix.scm"))
(platform-windows
(include "posixwin.scm")))
+
+(module chicken.errno *
+(import scheme chicken)
+(export errno)
+(define errno/2big _e2big)
+(define errno/acces _eacces)
+(define errno/again _eagain)
+(define errno/badf _ebadf)
+(define errno/busy _ebusy)
+(define errno/child _echild)
+(define errno/deadlk _edeadlk)
+(define errno/dom _edom)
+(define errno/exist _eexist)
+(define errno/fault _efault)
+(define errno/fbig _efbig)
+(define errno/ilseq _eilseq)
+(define errno/intr _eintr)
+(define errno/inval _einval)
+(define errno/io _eio)
+(define errno/isdir _eisdir)
+(define errno/mfile _emfile)
+(define errno/mlink _emlink)
+(define errno/nametoolong _enametoolong)
+(define errno/nfile _enfile)
+(define errno/nodev _enodev)
+(define errno/noent _enoent)
+(define errno/noexec _enoexec)
+(define errno/nolck _enolck)
+(define errno/nomem _enomem)
+(define errno/nospc _enospc)
+(define errno/nosys _enosys)
+(define errno/notdir _enotdir)
+(define errno/notempty _enotempty)
+(define errno/notty _enotty)
+(define errno/nxio _enxio)
+(define errno/perm _eperm)
+(define errno/pipe _epipe)
+(define errno/range _erange)
+(define errno/rofs _erofs)
+(define errno/spipe _espipe)
+(define errno/srch _esrch)
+(define errno/wouldblock _ewouldblock)
+(define errno/xdev _exdev))
diff --git a/posixunix.scm b/posixunix.scm
index 1e177374..7e9a21da 100644
--- a/posixunix.scm
+++ b/posixunix.scm
@@ -1600,47 +1600,3 @@ EOF
(posix-error #:file-error 'set-root-directory! "unable to change root
directory" dir) ) ) ) )
) ; chicken.posix
-
-(module chicken.errno *
-(import scheme chicken)
-(export errno)
-;; XXX TODO why aren't these set?
-(define errno/2big 0)
-(define errno/deadlk 0)
-(define errno/dom 0)
-(define errno/fbig 0)
-(define errno/ilseq 0)
-(define errno/mlink 0)
-(define errno/nametoolong 0)
-(define errno/nfile 0)
-(define errno/nodev 0)
-(define errno/nolck 0)
-(define errno/nosys 0)
-(define errno/notempty 0)
-(define errno/notty 0)
-(define errno/nxio 0)
-(define errno/range 0)
-(define errno/xdev 0)
-(define errno/acces _eacces)
-(define errno/again _eagain)
-(define errno/badf _ebadf)
-(define errno/busy _ebusy)
-(define errno/child _echild)
-(define errno/exist _eexist)
-(define errno/fault _efault)
-(define errno/intr _eintr)
-(define errno/inval _einval)
-(define errno/io _eio)
-(define errno/isdir _eisdir)
-(define errno/mfile _emfile)
-(define errno/noent _enoent)
-(define errno/noexec _enoexec)
-(define errno/nomem _enomem)
-(define errno/nospc _enospc)
-(define errno/notdir _enotdir)
-(define errno/perm _eperm)
-(define errno/pipe _epipe)
-(define errno/rofs _erofs)
-(define errno/spipe _espipe)
-(define errno/srch _esrch)
-(define errno/wouldblock _ewouldblock))
diff --git a/posixwin.scm b/posixwin.scm
index 11103166..62790932 100644
--- a/posixwin.scm
+++ b/posixwin.scm
@@ -78,6 +78,10 @@
#define PIPE_BUF 512
+#ifndef EWOULDBLOCK
+# define EWOULDBLOCK 0
+#endif
+
static C_TLS int C_pipefds[ 2 ];
static C_TLS time_t C_secs;
@@ -1364,46 +1368,3 @@ EOF
(define perm/isvtx 0)
) ; chicken.posix
-
-(module chicken.errno *
-(import scheme chicken)
-(export errno)
-(define errno/wouldblock 0) ; undefined on mingw
-(define errno/2big _e2big)
-(define errno/acces _eacces)
-(define errno/again _eagain)
-(define errno/badf _ebadf)
-(define errno/busy _ebusy)
-(define errno/child _echild)
-(define errno/deadlk _edeadlk)
-(define errno/dom _edom)
-(define errno/exist _eexist)
-(define errno/fault _efault)
-(define errno/fbig _efbig)
-(define errno/ilseq _eilseq)
-(define errno/intr _eintr)
-(define errno/inval _einval)
-(define errno/io _eio)
-(define errno/isdir _eisdir)
-(define errno/mfile _emfile)
-(define errno/mlink _emlink)
-(define errno/nametoolong _enametoolong)
-(define errno/nfile _enfile)
-(define errno/nodev _enodev)
-(define errno/noent _enoent)
-(define errno/noexec _enoexec)
-(define errno/nolck _enolck)
-(define errno/nomem _enomem)
-(define errno/nospc _enospc)
-(define errno/nosys _enosys)
-(define errno/notdir _enotdir)
-(define errno/notempty _enotempty)
-(define errno/notty _enotty)
-(define errno/nxio _enxio)
-(define errno/perm _eperm)
-(define errno/pipe _epipe)
-(define errno/range _erange)
-(define errno/rofs _erofs)
-(define errno/spipe _espipe)
-(define errno/srch _esrch)
-(define errno/xdev _exdev))
--
2.11.0
- [Chicken-hackers] [PATCH 0/8] Add posix replacement modules, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 8/8] Add chicken.process.signal module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 5/8] Add chicken.file.posix module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 2/8] Rename chicken.ports module to chicken.port, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 7/8] Add chicken.process module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 3/8] Add posix.scm file that wraps platform-specific posix implementations, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 6/8] Add chicken.time.posix module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 1/8] Add chicken.file module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 4/8] Deduplicate the Unix and Windows chicken.errno module definitions,
Evan Hanson <=
- Re: [Chicken-hackers] [PATCH 1/8] Add chicken.file module, felix . winkelmann, 2017/03/02
- [Chicken-hackers] [PATCH 0/2] Move "compile-file" to egg and drop utils unit, Evan Hanson, 2017/03/03
- Re: [Chicken-hackers] [PATCH 0/2] Move "compile-file" to egg and drop utils unit, felix . winkelmann, 2017/03/04
- Re: [Chicken-hackers] [PATCH 0/8] Add posix replacement modules, Peter Bex, 2017/03/04
- Re: [Chicken-hackers] [PATCH 0/8] Add posix replacement modules, felix . winkelmann, 2017/03/05