summaryrefslogtreecommitdiff
path: root/ghc/lib/misc/cbits/createSocket.c
diff options
context:
space:
mode:
authorsof <unknown>1998-08-14 10:17:45 +0000
committersof <unknown>1998-08-14 10:17:45 +0000
commit19a4b25b9ecd4a05e784110e9429e67d5643f2c2 (patch)
treef1fa1e9c492b1c5d45a03bf03f2ac491fa9b3fc2 /ghc/lib/misc/cbits/createSocket.c
parent2a62415d5fb5e094a99e77f9562866b227fa4b33 (diff)
downloadhaskell-19a4b25b9ecd4a05e784110e9429e67d5643f2c2.tar.gz
[project @ 1998-08-14 10:17:35 by sof]
Added stubs for getsockopt() and setsockopt(), removed redundant ghc_errno switches, use stdErrno() instead.
Diffstat (limited to 'ghc/lib/misc/cbits/createSocket.c')
-rw-r--r--ghc/lib/misc/cbits/createSocket.c30
1 files changed, 3 insertions, 27 deletions
diff --git a/ghc/lib/misc/cbits/createSocket.c b/ghc/lib/misc/cbits/createSocket.c
index ccab6887da..31e91b8283 100644
--- a/ghc/lib/misc/cbits/createSocket.c
+++ b/ghc/lib/misc/cbits/createSocket.c
@@ -19,33 +19,9 @@ createSocket(I_ family, I_ type, I_ protocol)
if ((fd = socket((int)family, (int)type, (int)protocol)) < 0) {
if (errno != EINTR) {
cvtErrno();
- switch (ghc_errno) {
- default:
- stdErrno();
- break;
- case GHC_EACCES:
- ghc_errtype = ERR_PERMISSIONDENIED;
- ghc_errstr = "cannot create socket";
- break;
- case GHC_EMFILE:
- ghc_errtype = ERR_RESOURCEEXHAUSTED;
- ghc_errstr = "Too many open files";
- break;
- case GHC_ENFILE:
- ghc_errtype = ERR_RESOURCEEXHAUSTED;
- ghc_errstr = "System file table overflow";
- break;
- case GHC_EPROTONOSUPPORT:
- ghc_errtype = ERR_UNSUPPORTEDOPERATION;
- ghc_errstr = "Protocol type not supported";
- break;
- case GHC_EPROTOTYPE:
- ghc_errtype = ERR_INAPPROPRIATETYPE;
- ghc_errstr = "Protocol wrong type for socket";
- break;
- }
- return (StgInt)-1;
+ stdErrno();
+ return -1;
}
}
- return (StgInt)fd;
+ return fd;
}