summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>1999-10-21 22:36:35 +0000
committerwtc%netscape.com <devnull@localhost>1999-10-21 22:36:35 +0000
commit52cd048b53fabdeab070c4270f74d9d67b8a1ddd (patch)
treefd20e0edad12f4995d1cb449bbef9f8dc21621fb
parent17bcd7df41df258acfeec971156c2fd4f9f8702b (diff)
downloadnspr-hg-52cd048b53fabdeab070c4270f74d9d67b8a1ddd.tar.gz
Bugsplat bug #365031: moved the definition of PRStack from pratom.h
to primpl.h so that it is not exported. Bugsplat bug #364813: declare 'prstk_head' volatile, to prevent compiler from optimizing away references in a loop. r=larryh,srinivas@netscape.com
-rw-r--r--pr/include/pratom.h9
-rw-r--r--pr/include/private/primpl.h14
2 files changed, 14 insertions, 9 deletions
diff --git a/pr/include/pratom.h b/pr/include/pratom.h
index 4cdf6fbb..35d6d163 100644
--- a/pr/include/pratom.h
+++ b/pr/include/pratom.h
@@ -87,15 +87,6 @@ struct PRStackElemStr {
typedef struct PRStackStr PRStack;
-struct PRStackStr {
- PRStackElem prstk_head; /* head MUST be at offset 0; assembly
- language code relies on this
- */
- PRLock *prstk_lock;
- char *prstk_name;
-};
-
-
/*
** FUNCTION: PR_CreateStack
** DESCRIPTION:
diff --git a/pr/include/private/primpl.h b/pr/include/private/primpl.h
index 04e08b86..e61f50d0 100644
--- a/pr/include/private/primpl.h
+++ b/pr/include/private/primpl.h
@@ -1341,6 +1341,20 @@ struct PRSem {
#endif
};
+/*************************************************************************/
+
+struct PRStackStr {
+ /* head MUST be at offset 0; assembly language code relies on this */
+#if defined(AIX) || defined(OSF1)
+ volatile PRStackElem prstk_head;
+#else
+ PRStackElem prstk_head;
+#endif
+
+ PRLock *prstk_lock;
+ char *prstk_name;
+};
+
/************************************************************************/
/* XXX this needs to be exported (sigh) */