summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjulien.pierre.boogz%sun.com <devnull@localhost>2007-09-13 21:48:45 +0000
committerjulien.pierre.boogz%sun.com <devnull@localhost>2007-09-13 21:48:45 +0000
commiteb489070aec262a62595c69cb1693a323b07ba58 (patch)
tree8bd06187d7e5a15f0561224815bd94360d6c8c4c
parentc79eabc605fa161feb61e85d36ea382c883a5bf4 (diff)
downloadnspr-hg-eb489070aec262a62595c69cb1693a323b07ba58.tar.gz
Fix for bug 318877 . NSPR initialization crashes if OS_TARGET is WINNT on AMD64. Fix casts to work with updated Windows SDK headers. r=wtchang
-rw-r--r--pr/src/io/prmwait.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/pr/src/io/prmwait.c b/pr/src/io/prmwait.c
index 1a2e1cd7..6b3c46a3 100644
--- a/pr/src/io/prmwait.c
+++ b/pr/src/io/prmwait.c
@@ -235,7 +235,7 @@ void _PR_InitMW(void)
* We use NT 4's InterlockedCompareExchange() to operate
* on PRMWStatus variables.
*/
- PR_ASSERT(sizeof(PVOID) == sizeof(PRMWStatus));
+ PR_ASSERT(sizeof(LONG) == sizeof(PRMWStatus));
TimerInit();
#endif
mw_lock = PR_NewLock();
@@ -668,8 +668,8 @@ static void NT_TimeProc(void *arg)
PRRecvWait *desc = overlapped->data.mw.desc;
PRFileDesc *bottom;
- if (InterlockedCompareExchange((PVOID *)&desc->outcome,
- (PVOID)PR_MW_TIMEOUT, (PVOID)PR_MW_PENDING) != (PVOID)PR_MW_PENDING)
+ if (InterlockedCompareExchange((LONG *)&desc->outcome,
+ (LONG)PR_MW_TIMEOUT, (LONG)PR_MW_PENDING) != (LONG)PR_MW_PENDING)
{
/* This wait recv descriptor has already completed. */
return;
@@ -849,9 +849,9 @@ PR_IMPLEMENT(PRStatus) PR_AddWaitFileDesc(
{
if (desc->timeout != PR_INTERVAL_NO_TIMEOUT)
{
- if (InterlockedCompareExchange((PVOID *)&desc->outcome,
- (PVOID)PR_MW_FAILURE, (PVOID)PR_MW_PENDING)
- == (PVOID)PR_MW_PENDING)
+ if (InterlockedCompareExchange((LONG *)&desc->outcome,
+ (LONG)PR_MW_FAILURE, (LONG)PR_MW_PENDING)
+ == (LONG)PR_MW_PENDING)
{
CancelTimer(overlapped->data.mw.timer);
}
@@ -1094,8 +1094,8 @@ PR_IMPLEMENT(PRStatus) PR_CancelWaitFileDesc(PRWaitGroup *group, PRRecvWait *des
}
#ifdef WINNT
- if (InterlockedCompareExchange((PVOID *)&desc->outcome,
- (PVOID)PR_MW_INTERRUPT, (PVOID)PR_MW_PENDING) == (PVOID)PR_MW_PENDING)
+ if (InterlockedCompareExchange((LONG *)&desc->outcome,
+ (LONG)PR_MW_INTERRUPT, (LONG)PR_MW_PENDING) == (LONG)PR_MW_PENDING)
{
PRFileDesc *bottom = PR_GetIdentitiesLayer(desc->fd, PR_NSPR_IO_LAYER);
PR_ASSERT(NULL != bottom);
@@ -1185,9 +1185,9 @@ PR_IMPLEMENT(PRRecvWait*) PR_CancelWaitGroup(PRWaitGroup *group)
{
if (NULL != *desc)
{
- if (InterlockedCompareExchange((PVOID *)&(*desc)->outcome,
- (PVOID)PR_MW_INTERRUPT, (PVOID)PR_MW_PENDING)
- == (PVOID)PR_MW_PENDING)
+ if (InterlockedCompareExchange((LONG *)&(*desc)->outcome,
+ (LONG)PR_MW_INTERRUPT, (LONG)PR_MW_PENDING)
+ == (LONG)PR_MW_PENDING)
{
PRFileDesc *bottom = PR_GetIdentitiesLayer(
(*desc)->fd, PR_NSPR_IO_LAYER);