diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-04-25 21:33:57 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-04-25 21:33:57 +0200 |
commit | 7c4d50dccf3080965c202f63aa56439e3824eaf3 (patch) | |
tree | 59026bd0f554a24878db82841a508c8fa7ca8356 /nsprpub/pr/src/pthreads/ptsynch.c | |
parent | fba28f19754f62b5227650143d5441fc86d4c7d7 (diff) | |
download | UXP-7c4d50dccf3080965c202f63aa56439e3824eaf3.tar UXP-7c4d50dccf3080965c202f63aa56439e3824eaf3.tar.gz UXP-7c4d50dccf3080965c202f63aa56439e3824eaf3.tar.lz UXP-7c4d50dccf3080965c202f63aa56439e3824eaf3.tar.xz UXP-7c4d50dccf3080965c202f63aa56439e3824eaf3.zip |
Revert "Update NSPR to 4.18"
This reverts commit 8781f745556be5d7402d0f3adc67ecfe32fe04a0.
Diffstat (limited to 'nsprpub/pr/src/pthreads/ptsynch.c')
-rw-r--r-- | nsprpub/pr/src/pthreads/ptsynch.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/nsprpub/pr/src/pthreads/ptsynch.c b/nsprpub/pr/src/pthreads/ptsynch.c index a93b74795..251205336 100644 --- a/nsprpub/pr/src/pthreads/ptsynch.c +++ b/nsprpub/pr/src/pthreads/ptsynch.c @@ -23,6 +23,11 @@ static pthread_condattr_t _pt_cvar_attr; #if defined(DEBUG) extern PTDebug pt_debug; /* this is shared between several modules */ + +#if defined(_PR_DCETHREADS) +static pthread_t pt_zero_tid; /* a null pthread_t (pthread_t is a struct + * in DCE threads) to compare with */ +#endif /* defined(_PR_DCETHREADS) */ #endif /* defined(DEBUG) */ #if defined(FREEBSD) @@ -258,7 +263,12 @@ static PRIntn pt_TimedWait( rv = pthread_cond_timedwait(cv, ml, &tmo); /* NSPR doesn't report timeouts */ +#ifdef _PR_DCETHREADS + if (rv == -1) return (errno == EAGAIN) ? 0 : errno; + else return rv; +#else return (rv == ETIMEDOUT) ? 0 : rv; +#endif } /* pt_TimedWait */ @@ -1161,14 +1171,14 @@ PR_IMPLEMENT(PRStatus) PR_DeleteSemaphore(const char *name) PR_IMPLEMENT(PRStatus) PRP_TryLock(PRLock *lock) { PRIntn rv = pthread_mutex_trylock(&lock->mutex); - if (rv == 0) + if (rv == PT_TRYLOCK_SUCCESS) { PR_ASSERT(PR_FALSE == lock->locked); lock->locked = PR_TRUE; lock->owner = pthread_self(); } /* XXX set error code? */ - return (0 == rv) ? PR_SUCCESS : PR_FAILURE; + return (PT_TRYLOCK_SUCCESS == rv) ? PR_SUCCESS : PR_FAILURE; } /* PRP_TryLock */ PR_IMPLEMENT(PRCondVar*) PRP_NewNakedCondVar(void) |