diff options
author | wtc%netscape.com <devnull@localhost> | 1999-10-21 22:36:35 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 1999-10-21 22:36:35 +0000 |
commit | 52cd048b53fabdeab070c4270f74d9d67b8a1ddd (patch) | |
tree | fd20e0edad12f4995d1cb449bbef9f8dc21621fb | |
parent | 17bcd7df41df258acfeec971156c2fd4f9f8702b (diff) | |
download | nspr-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.h | 9 | ||||
-rw-r--r-- | pr/include/private/primpl.h | 14 |
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) */ |