summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwchang0222%aol.com <devnull@localhost>2003-12-23 05:18:10 +0000
committerwchang0222%aol.com <devnull@localhost>2003-12-23 05:18:10 +0000
commit470505c169e4f8b55c6afaf106a39c812dee836f (patch)
treee5a2d00f160def09270d58a70772fe99cc1d3617
parentd8460927fd099c2fb66cb711675f75e8e40733c2 (diff)
downloadnspr-hg-470505c169e4f8b55c6afaf106a39c812dee836f.tar.gz
Synched up the NSPRPUB_PRE_4_2_CLIENT_BRANCH with the tip.
-rwxr-xr-xadmin/repackage.sh8
-rwxr-xr-xconfigure2
-rw-r--r--configure.in2
-rw-r--r--pr/src/bthreads/btmon.c5
-rw-r--r--pr/src/md/windows/ntio.c17
-rw-r--r--pr/src/pthreads/ptsynch.c3
-rw-r--r--pr/src/threads/prmon.c3
-rw-r--r--pr/tests/vercheck.c10
8 files changed, 34 insertions, 16 deletions
diff --git a/admin/repackage.sh b/admin/repackage.sh
index d333c185..d8303d8f 100755
--- a/admin/repackage.sh
+++ b/admin/repackage.sh
@@ -60,10 +60,10 @@
#
# These variables should be modified for each NSPR release.
#
-FROMTOP=/share/builds/components/nspr20/v4.4
-TOTOP=./v4.4
-NSPRDIR=nspr-4.4
-SOURCETAG=NSPR_4_4_RTM
+FROMTOP=/share/builds/components/nspr20/v4.5
+TOTOP=./v4.5
+NSPRDIR=nspr-4.5
+SOURCETAG=NSPR_4_5_RTM
#
# enumerate Unix object directories on /s/b/c
diff --git a/configure b/configure
index 0e1a534f..6cd04781 100755
--- a/configure
+++ b/configure
@@ -680,7 +680,7 @@ test "$host_alias" != "$target_alias" &&
MOD_MAJOR_VERSION=4
-MOD_MINOR_VERSION=4
+MOD_MINOR_VERSION=5
MOD_PATCH_VERSION=0
NSPR_MODNAME=nspr20
_HAVE_PTHREADS=
diff --git a/configure.in b/configure.in
index 3a95fb3b..f4a60c58 100644
--- a/configure.in
+++ b/configure.in
@@ -43,7 +43,7 @@ dnl ========================================================
dnl = Defaults
dnl ========================================================
MOD_MAJOR_VERSION=4
-MOD_MINOR_VERSION=4
+MOD_MINOR_VERSION=5
MOD_PATCH_VERSION=0
NSPR_MODNAME=nspr20
_HAVE_PTHREADS=
diff --git a/pr/src/bthreads/btmon.c b/pr/src/bthreads/btmon.c
index da588c3a..5f88ad34 100644
--- a/pr/src/bthreads/btmon.c
+++ b/pr/src/bthreads/btmon.c
@@ -78,7 +78,10 @@ PR_IMPLEMENT(PRMonitor*)
PR_IMPLEMENT(PRMonitor*) PR_NewNamedMonitor(const char* name)
{
PRMonitor* mon = PR_NewMonitor();
- mon->name = name;
+ if( mon )
+ {
+ mon->name = name;
+ }
return mon;
}
diff --git a/pr/src/md/windows/ntio.c b/pr/src/md/windows/ntio.c
index e206f787..345e253a 100644
--- a/pr/src/md/windows/ntio.c
+++ b/pr/src/md/windows/ntio.c
@@ -1332,6 +1332,7 @@ _PR_MD_FAST_ACCEPT(PRFileDesc *fd, PRNetAddr *raddr, PRUint32 *rlen,
me->flags &= ~_PR_INTERRUPT;
PR_SetError(PR_PENDING_INTERRUPT_ERROR, 0);
_PR_THREAD_UNLOCK(me);
+ closesocket(accept_sock);
return -1;
}
me->io_pending = PR_TRUE;
@@ -1350,6 +1351,7 @@ _PR_MD_FAST_ACCEPT(PRFileDesc *fd, PRNetAddr *raddr, PRUint32 *rlen,
if ( (rv == 0) && ((err = GetLastError()) != ERROR_IO_PENDING)) {
/* Argh! The IO failed */
+ closesocket(accept_sock);
_PR_THREAD_LOCK(me);
me->io_pending = PR_FALSE;
me->state = _PR_RUNNING;
@@ -1369,12 +1371,14 @@ _PR_MD_FAST_ACCEPT(PRFileDesc *fd, PRNetAddr *raddr, PRUint32 *rlen,
_native_thread_io_nowait(me, rv, bytes);
} else if (_NT_IO_WAIT(me, timeout) == PR_FAILURE) {
PR_ASSERT(0);
+ closesocket(accept_sock);
return -1;
}
PR_ASSERT(me->io_pending == PR_FALSE || me->io_suspended == PR_TRUE);
if (me->io_suspended) {
+ closesocket(accept_sock);
if (_PR_PENDING_INTERRUPT(me)) {
me->flags &= ~_PR_INTERRUPT;
PR_SetError(PR_PENDING_INTERRUPT_ERROR, 0);
@@ -1385,6 +1389,7 @@ _PR_MD_FAST_ACCEPT(PRFileDesc *fd, PRNetAddr *raddr, PRUint32 *rlen,
}
if (me->md.blocked_io_status == 0) {
+ closesocket(accept_sock);
_PR_MD_MAP_ACCEPTEX_ERROR(me->md.blocked_io_error);
return -1;
}
@@ -1450,6 +1455,7 @@ _PR_MD_FAST_ACCEPT_READ(PRFileDesc *sd, PRInt32 *newSock, PRNetAddr **raddr,
me->flags &= ~_PR_INTERRUPT;
PR_SetError(PR_PENDING_INTERRUPT_ERROR, 0);
_PR_THREAD_UNLOCK(me);
+ closesocket(*newSock);
return -1;
}
me->io_pending = PR_TRUE;
@@ -1467,6 +1473,7 @@ _PR_MD_FAST_ACCEPT_READ(PRFileDesc *sd, PRInt32 *newSock, PRNetAddr **raddr,
&(me->md.overlapped.overlapped));
if ( (rv == 0) && ((err = GetLastError()) != ERROR_IO_PENDING)) {
+ closesocket(*newSock);
_PR_THREAD_LOCK(me);
me->io_pending = PR_FALSE;
me->state = _PR_RUNNING;
@@ -1486,6 +1493,7 @@ _PR_MD_FAST_ACCEPT_READ(PRFileDesc *sd, PRInt32 *newSock, PRNetAddr **raddr,
_native_thread_io_nowait(me, rv, bytes);
} else if (_NT_IO_WAIT(me, timeout) == PR_FAILURE) {
PR_ASSERT(0);
+ closesocket(*newSock);
return -1;
}
@@ -1515,8 +1523,10 @@ retry:
callback(callbackArg);
madeCallback = PR_TRUE;
me->state = _PR_IO_WAIT;
- if (_NT_ResumeIO(me, timeout) == PR_FAILURE)
+ if (_NT_ResumeIO(me, timeout) == PR_FAILURE) {
+ closesocket(*newSock);
return -1;
+ }
goto retry;
}
@@ -1524,8 +1534,10 @@ retry:
/* Socket is connected but time not elapsed, RESUME IO */
timeout -= elapsed;
me->state = _PR_IO_WAIT;
- if (_NT_ResumeIO(me, timeout) == PR_FAILURE)
+ if (_NT_ResumeIO(me, timeout) == PR_FAILURE) {
+ closesocket(*newSock);
return -1;
+ }
goto retry;
}
} else {
@@ -1552,6 +1564,7 @@ retry:
PR_SetError(PR_IO_TIMEOUT_ERROR, 0);
}
me->state = _PR_RUNNING;
+ closesocket(*newSock);
return -1;
}
diff --git a/pr/src/pthreads/ptsynch.c b/pr/src/pthreads/ptsynch.c
index 17334af3..ae1eb0da 100644
--- a/pr/src/pthreads/ptsynch.c
+++ b/pr/src/pthreads/ptsynch.c
@@ -471,7 +471,8 @@ PR_IMPLEMENT(PRMonitor*) PR_NewMonitor(void)
PR_IMPLEMENT(PRMonitor*) PR_NewNamedMonitor(const char* name)
{
PRMonitor* mon = PR_NewMonitor();
- mon->name = name;
+ if (mon)
+ mon->name = name;
return mon;
}
diff --git a/pr/src/threads/prmon.c b/pr/src/threads/prmon.c
index 24205ec2..f9c12be0 100644
--- a/pr/src/threads/prmon.c
+++ b/pr/src/threads/prmon.c
@@ -68,7 +68,8 @@ PR_IMPLEMENT(PRMonitor*) PR_NewMonitor()
PR_IMPLEMENT(PRMonitor*) PR_NewNamedMonitor(const char* name)
{
PRMonitor* mon = PR_NewMonitor();
- mon->name = name;
+ if (mon)
+ mon->name = name;
return mon;
}
diff --git a/pr/tests/vercheck.c b/pr/tests/vercheck.c
index 093ab673..0e32ef53 100644
--- a/pr/tests/vercheck.c
+++ b/pr/tests/vercheck.c
@@ -49,13 +49,13 @@
#include <stdlib.h>
/*
- * This release (4.4) is backward compatible with the
- * 4.0.x, 4.1.x, 4.2.x, and 4.3.x releases. It, of course,
+ * This release (4.5) is backward compatible with the
+ * 4.0.x, 4.1.x, 4.2.x, 4.3.x, and 4.4.x releases. It, of course,
* is compatible with itself.
*/
static char *compatible_version[] = {
"4.0", "4.0.1", "4.1", "4.1.1", "4.1.2", "4.1.3",
- "4.2", "4.2.1", "4.2.2", "4.3", PR_VERSION
+ "4.2", "4.2.1", "4.2.2", "4.3", "4.4", "4.4.1", PR_VERSION
};
/*
@@ -70,8 +70,8 @@ static char *incompatible_version[] = {
"3.0", "3.0.1",
"3.1", "3.1.1", "3.1.2", "3.1.3",
"3.5", "3.5.1",
- "4.4.3",
- "4.5", "4.5.1",
+ "4.5.3",
+ "4.6", "4.6.1",
"10.0", "11.1", "12.14.20"
};