diff options
author | wtc%netscape.com <devnull@localhost> | 2002-01-25 18:45:16 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 2002-01-25 18:45:16 +0000 |
commit | 460732ede0ff62456a711989737cd07e178fd1f2 (patch) | |
tree | 07b4f2a2b8bd738028d41e69596cea9eb66b5c39 | |
parent | 085ca871a06894eedf8a24c910c83d14c3bd2be2 (diff) | |
download | nspr-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.h | 2 | ||||
-rw-r--r-- | pr/src/md/windows/w95sock.c | 15 |
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, |