summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2002-01-25 18:45:16 +0000
committerwtc%netscape.com <devnull@localhost>2002-01-25 18:45:16 +0000
commit460732ede0ff62456a711989737cd07e178fd1f2 (patch)
tree07b4f2a2b8bd738028d41e69596cea9eb66b5c39
parent085ca871a06894eedf8a24c910c83d14c3bd2be2 (diff)
downloadnspr-hg-460732ede0ff62456a711989737cd07e178fd1f2.tar.gz
Bugzilla bug 121872: define _PR_MD_LISTEN as a function so that we can
set error codes if listen() fails. Modified files: _win95.h w95sock.c
-rw-r--r--pr/include/md/_win95.h2
-rw-r--r--pr/src/md/windows/w95sock.c15
2 files changed, 15 insertions, 2 deletions
diff --git a/pr/include/md/_win95.h b/pr/include/md/_win95.h
index 6a9bb271..86b39d5d 100644
--- a/pr/include/md/_win95.h
+++ b/pr/include/md/_win95.h
@@ -243,7 +243,7 @@ extern void _MD_MakeNonblock(PRFileDesc *f);
#define _MD_INIT_FD_INHERITABLE _PR_MD_INIT_FD_INHERITABLE
#define _MD_QUERY_FD_INHERITABLE _PR_MD_QUERY_FD_INHERITABLE
#define _MD_SHUTDOWN _PR_MD_SHUTDOWN
-#define _MD_LISTEN(s, backlog) listen(s->secret->md.osfd,backlog)
+#define _MD_LISTEN _PR_MD_LISTEN
extern PRInt32 _MD_CloseSocket(PRInt32 osfd);
#define _MD_CLOSE_SOCKET _MD_CloseSocket
#define _MD_SENDTO _PR_MD_SENDTO
diff --git a/pr/src/md/windows/w95sock.c b/pr/src/md/windows/w95sock.c
index d36ffdcd..eaa870e3 100644
--- a/pr/src/md/windows/w95sock.c
+++ b/pr/src/md/windows/w95sock.c
@@ -168,7 +168,6 @@ PRInt32
_PR_MD_BIND(PRFileDesc *fd, const PRNetAddr *addr, PRUint32 addrlen)
{
PRInt32 rv;
- int one = 1;
rv = bind(fd->secret->md.osfd, (const struct sockaddr *)&(addr->inet), addrlen);
@@ -180,6 +179,20 @@ _PR_MD_BIND(PRFileDesc *fd, const PRNetAddr *addr, PRUint32 addrlen)
return 0;
}
+PRInt32
+_PR_MD_LISTEN(PRFileDesc *fd, PRIntn backlog)
+{
+ PRInt32 rv;
+
+ rv = listen(fd->secret->md.osfd, backlog);
+
+ if (rv == SOCKET_ERROR) {
+ _PR_MD_MAP_DEFAULT_ERROR(WSAGetLastError());
+ return -1;
+ }
+
+ return 0;
+}
PRInt32
_PR_MD_RECV(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags,