mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
backout bug 415563 because a gcc4.3 bug causes it to break our 32bit linux builders r=ted
This commit is contained in:
parent
a27454a03b
commit
18d49dc041
@ -125,12 +125,10 @@ long __cdecl _InterlockedExchange(long volatile *Target, long Value);
|
||||
long __cdecl _InterlockedExchangeAdd(long volatile *Addend, long Value);
|
||||
#pragma intrinsic(_InterlockedExchangeAdd)
|
||||
|
||||
#define PR_ATOMIC_INCREMENT(val) _InterlockedIncrement((long volatile *)val)
|
||||
#define PR_ATOMIC_DECREMENT(val) _InterlockedDecrement((long volatile *)val)
|
||||
#define PR_ATOMIC_SET(val, newval) \
|
||||
_InterlockedExchange((long volatile *)val, (long)newval)
|
||||
#define PR_ATOMIC_ADD(ptr, val) \
|
||||
(_InterlockedExchangeAdd((long volatile *)ptr, (long)val) + (val))
|
||||
#define PR_ATOMIC_INCREMENT(val) _InterlockedIncrement(val)
|
||||
#define PR_ATOMIC_DECREMENT(val) _InterlockedDecrement(val)
|
||||
#define PR_ATOMIC_SET(val, newval) _InterlockedExchange(val, newval)
|
||||
#define PR_ATOMIC_ADD(ptr, val) (_InterlockedExchangeAdd(ptr, val) + (val))
|
||||
|
||||
#elif ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) && \
|
||||
((defined(DARWIN) && \
|
||||
|
@ -803,7 +803,7 @@ PR_IMPLEMENT(PRStatus) PR_CallOnce(
|
||||
if (!_pr_initialized) _PR_ImplicitInitialization();
|
||||
|
||||
if (!once->initialized) {
|
||||
if (PR_ATOMIC_SET(&once->inProgress, 1) == 0) {
|
||||
if (PR_AtomicSet(&once->inProgress, 1) == 0) {
|
||||
once->status = (*func)();
|
||||
PR_Lock(mod_init.ml);
|
||||
once->initialized = 1;
|
||||
@ -832,7 +832,7 @@ PR_IMPLEMENT(PRStatus) PR_CallOnceWithArg(
|
||||
if (!_pr_initialized) _PR_ImplicitInitialization();
|
||||
|
||||
if (!once->initialized) {
|
||||
if (PR_ATOMIC_SET(&once->inProgress, 1) == 0) {
|
||||
if (PR_AtomicSet(&once->inProgress, 1) == 0) {
|
||||
once->status = (*func)(arg);
|
||||
PR_Lock(mod_init.ml);
|
||||
once->initialized = 1;
|
||||
|
@ -148,13 +148,13 @@ static void pt_PostNotifies(PRLock *lock, PRBool unlock)
|
||||
}
|
||||
#if defined(DEBUG)
|
||||
pt_debug.cvars_notified += 1;
|
||||
if (0 > PR_ATOMIC_DECREMENT(&cv->notify_pending))
|
||||
if (0 > PR_AtomicDecrement(&cv->notify_pending))
|
||||
{
|
||||
pt_debug.delayed_cv_deletes += 1;
|
||||
PR_DestroyCondVar(cv);
|
||||
}
|
||||
#else /* defined(DEBUG) */
|
||||
if (0 > PR_ATOMIC_DECREMENT(&cv->notify_pending))
|
||||
if (0 > PR_AtomicDecrement(&cv->notify_pending))
|
||||
PR_DestroyCondVar(cv);
|
||||
#endif /* defined(DEBUG) */
|
||||
}
|
||||
@ -338,7 +338,7 @@ static void pt_PostNotifyToCvar(PRCondVar *cvar, PRBool broadcast)
|
||||
}
|
||||
|
||||
/* A brand new entry in the array */
|
||||
(void)PR_ATOMIC_INCREMENT(&cvar->notify_pending);
|
||||
(void)PR_AtomicIncrement(&cvar->notify_pending);
|
||||
notified->cv[index].times = (broadcast) ? -1 : 1;
|
||||
notified->cv[index].cv = cvar;
|
||||
notified->length += 1;
|
||||
@ -367,7 +367,7 @@ PR_IMPLEMENT(PRCondVar*) PR_NewCondVar(PRLock *lock)
|
||||
|
||||
PR_IMPLEMENT(void) PR_DestroyCondVar(PRCondVar *cvar)
|
||||
{
|
||||
if (0 > PR_ATOMIC_DECREMENT(&cvar->notify_pending))
|
||||
if (0 > PR_AtomicDecrement(&cvar->notify_pending))
|
||||
{
|
||||
PRIntn rv = pthread_cond_destroy(&cvar->cv); PR_ASSERT(0 == rv);
|
||||
#if defined(DEBUG)
|
||||
|
@ -752,10 +752,10 @@ PR_IMPLEMENT(PRStatus) PR_Interrupt(PRThread *thred)
|
||||
if ((NULL != cv) && !thred->interrupt_blocked)
|
||||
{
|
||||
PRIntn rv;
|
||||
(void)PR_ATOMIC_INCREMENT(&cv->notify_pending);
|
||||
(void)PR_AtomicIncrement(&cv->notify_pending);
|
||||
rv = pthread_cond_broadcast(&cv->cv);
|
||||
PR_ASSERT(0 == rv);
|
||||
if (0 > PR_ATOMIC_DECREMENT(&cv->notify_pending))
|
||||
if (0 > PR_AtomicDecrement(&cv->notify_pending))
|
||||
PR_DestroyCondVar(cv);
|
||||
}
|
||||
return PR_SUCCESS;
|
||||
|
@ -1165,9 +1165,9 @@ PR_IMPLEMENT(PRThread*) _PR_CreateThread(PRThreadType type,
|
||||
if (type == PR_SYSTEM_THREAD)
|
||||
{
|
||||
thread->flags |= _PR_SYSTEM;
|
||||
PR_ATOMIC_INCREMENT(&_pr_systemActive);
|
||||
PR_AtomicIncrement(&_pr_systemActive);
|
||||
}
|
||||
else PR_ATOMIC_INCREMENT(&_pr_userActive);
|
||||
else PR_AtomicIncrement(&_pr_userActive);
|
||||
|
||||
if (state == PR_JOINABLE_THREAD) {
|
||||
if (!thread->term)
|
||||
|
@ -137,7 +137,7 @@ PR_IMPLEMENT(PRStatus) PR_NewThreadPrivateIndex(
|
||||
PR_ASSERT(NULL != newIndex);
|
||||
PR_ASSERT(NULL != _pr_tpd_destructors);
|
||||
|
||||
index = PR_ATOMIC_INCREMENT(&_pr_tpd_highwater) - 1; /* allocate index */
|
||||
index = PR_AtomicIncrement(&_pr_tpd_highwater) - 1; /* allocate index */
|
||||
if (_PR_TPD_LIMIT <= index)
|
||||
{
|
||||
PR_SetError(PR_TPD_RANGE_ERROR, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user