diff options
author | julien.pierre.boogz%sun.com <devnull@localhost> | 2007-09-13 21:48:45 +0000 |
---|---|---|
committer | julien.pierre.boogz%sun.com <devnull@localhost> | 2007-09-13 21:48:45 +0000 |
commit | eb489070aec262a62595c69cb1693a323b07ba58 (patch) | |
tree | 8bd06187d7e5a15f0561224815bd94360d6c8c4c /pr/src/io | |
parent | c79eabc605fa161feb61e85d36ea382c883a5bf4 (diff) | |
download | nspr-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
Diffstat (limited to 'pr/src/io')
-rw-r--r-- | pr/src/io/prmwait.c | 22 |
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); |