| OLD | NEW |
| 1 /* | 1 /* |
| 2 ****************************************************************************** | 2 ****************************************************************************** |
| 3 * | 3 * |
| 4 * Copyright (C) 1997-2014, International Business Machines | 4 * Copyright (C) 1997-2014, International Business Machines |
| 5 * Corporation and others. All Rights Reserved. | 5 * Corporation and others. All Rights Reserved. |
| 6 * | 6 * |
| 7 ****************************************************************************** | 7 ****************************************************************************** |
| 8 * | 8 * |
| 9 * File umutex.cpp | 9 * File umutex.cpp |
| 10 * | 10 * |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 umtx_atomic_dec(u_atomic_int32_t *p) { | 342 umtx_atomic_dec(u_atomic_int32_t *p) { |
| 343 int32_t retVal; | 343 int32_t retVal; |
| 344 umtx_lock(&gIncDecMutex); | 344 umtx_lock(&gIncDecMutex); |
| 345 retVal = --(*p); | 345 retVal = --(*p); |
| 346 umtx_unlock(&gIncDecMutex); | 346 umtx_unlock(&gIncDecMutex); |
| 347 return retVal; | 347 return retVal; |
| 348 } | 348 } |
| 349 | 349 |
| 350 U_COMMON_API int32_t U_EXPORT2 | 350 U_COMMON_API int32_t U_EXPORT2 |
| 351 umtx_loadAcquire(u_atomic_int32_t &var) { | 351 umtx_loadAcquire(u_atomic_int32_t &var) { |
| 352 umtx_lock(&gIncDecMutex); |
| 352 int32_t val = var; | 353 int32_t val = var; |
| 353 umtx_lock(&gIncDecMutex); | |
| 354 umtx_unlock(&gIncDecMutex); | 354 umtx_unlock(&gIncDecMutex); |
| 355 return val; | 355 return val; |
| 356 } | 356 } |
| 357 | 357 |
| 358 U_COMMON_API void U_EXPORT2 | 358 U_COMMON_API void U_EXPORT2 |
| 359 umtx_storeRelease(u_atomic_int32_t &var, int32_t val) { | 359 umtx_storeRelease(u_atomic_int32_t &var, int32_t val) { |
| 360 umtx_lock(&gIncDecMutex); | 360 umtx_lock(&gIncDecMutex); |
| 361 var = val; |
| 361 umtx_unlock(&gIncDecMutex); | 362 umtx_unlock(&gIncDecMutex); |
| 362 var = val; | |
| 363 } | 363 } |
| 364 | 364 |
| 365 U_NAMESPACE_END | 365 U_NAMESPACE_END |
| 366 #endif | 366 #endif |
| 367 | 367 |
| 368 //-------------------------------------------------------------------------- | 368 //-------------------------------------------------------------------------- |
| 369 // | 369 // |
| 370 // Deprecated functions for setting user mutexes. | 370 // Deprecated functions for setting user mutexes. |
| 371 // | 371 // |
| 372 //-------------------------------------------------------------------------- | 372 //-------------------------------------------------------------------------- |
| (...skipping 10 matching lines...) Expand all Loading... |
| 383 | 383 |
| 384 | 384 |
| 385 U_DEPRECATED void U_EXPORT2 | 385 U_DEPRECATED void U_EXPORT2 |
| 386 u_setAtomicIncDecFunctions(const void * /*context */, UMtxAtomicFn *, UMtxAtomic
Fn *, | 386 u_setAtomicIncDecFunctions(const void * /*context */, UMtxAtomicFn *, UMtxAtomic
Fn *, |
| 387 UErrorCode *status) { | 387 UErrorCode *status) { |
| 388 if (U_SUCCESS(*status)) { | 388 if (U_SUCCESS(*status)) { |
| 389 *status = U_UNSUPPORTED_ERROR; | 389 *status = U_UNSUPPORTED_ERROR; |
| 390 } | 390 } |
| 391 return; | 391 return; |
| 392 } | 392 } |
| OLD | NEW |