summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2001-12-07 02:10:10 +0000
committerwtc%netscape.com <devnull@localhost>2001-12-07 02:10:10 +0000
commitf4736f8bf0739d4ed6a74543999d544e71c9d3d9 (patch)
treee32ff7109d270d09e9cde740468187cf3e1e98da
parente31f6213a8280057f87da46cce0ad1be1c173a8c (diff)
downloadnspr-hg-f4736f8bf0739d4ed6a74543999d544e71c9d3d9.tar.gz
Bugzilla bug 113740: do not use the 32-bit SPARC assembly implementation of
PRStack because it may cause starvation of the lock owner, leaving the other threads spinning trying to acquire the lock. Modified files: configure configure.in pr/include/md/_solaris.h
-rwxr-xr-xconfigure4
-rw-r--r--configure.in2
-rw-r--r--pr/include/md/_solaris.h6
3 files changed, 6 insertions, 6 deletions
diff --git a/configure b/configure
index 91f58f17..e5d01dbe 100755
--- a/configure
+++ b/configure
@@ -5282,8 +5282,6 @@ EOF
PR_MD_ASFILES=os_SunOS.s
if test -n "$USE_64"; then
PR_MD_ASFILES="$PR_MD_ASFILES os_SunOS_sparcv9.s"
- else
- PR_MD_ASFILES="$PR_MD_ASFILES os_SunOS_32.s"
fi
fi
fi
@@ -5536,7 +5534,7 @@ s%\[%\\&%g
s%\]%\\&%g
s%\$%$$%g
EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '| tr '\015' ' '`
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' ' | tr '\015' ' '`
rm -f conftest.defs
diff --git a/configure.in b/configure.in
index bf2aa242..462e62e0 100644
--- a/configure.in
+++ b/configure.in
@@ -2146,8 +2146,6 @@ case "$target" in
PR_MD_ASFILES=os_SunOS.s
if test -n "$USE_64"; then
PR_MD_ASFILES="$PR_MD_ASFILES os_SunOS_sparcv9.s"
- else
- PR_MD_ASFILES="$PR_MD_ASFILES os_SunOS_32.s"
fi
fi
fi
diff --git a/pr/include/md/_solaris.h b/pr/include/md/_solaris.h
index fdc2ef64..a6412b69 100644
--- a/pr/include/md/_solaris.h
+++ b/pr/include/md/_solaris.h
@@ -81,8 +81,12 @@
/*
* We have assembly language implementation of atomic
* stacks for the 32-bit sparc and x86 architectures only.
+ *
+ * Note: We ran into thread starvation problem with the
+ * 32-bit sparc assembly language implementation of atomic
+ * stacks, so we do not use it now. (Bugzilla bug 113740)
*/
-#if !defined(sparc) || !defined(IS_64)
+#if !defined(sparc)
#define _PR_HAVE_ATOMIC_CAS
#endif
#endif