Markus Scherer
e5381c956b
ICU-20845 UMutex not trivially but constexpr constructible
2019-10-02 11:00:19 -07:00
Filip Filmar
0a01b29005
ICU-20776 Checks for nullness in UMutex::lock()
...
Adds `U_ASSERT` check before using `m->lock()` to make allocation issues
more apparent at least in debug builds.
There is probably quite a few places like this, but let's try fixing
broken windows.
2019-08-21 11:21:24 -07:00
Jeff Genovy
2cd213ac3b
ICU-20689 Fix race condition in UMutex code, leading to random crashes.
2019-07-16 10:41:21 -07:00
Andy Heninger
afa9b9b48e
ICU-20588 UMutex, add cleanup of underlying mutexes, and simplify usage model
2019-05-24 13:24:59 -07:00
Andy Heninger
b772241b52
ICU-20520 UMutex refactoring.
...
- Use STATIC_NEW for mutex creation, to avoid order-of-destruction problems
by avoiding destruction altogether, while avoiding memory leak reports.
- Remove UConditionVar, replace with direct use of std::condition_variable
2019-05-07 13:50:49 -07:00
Andy Heninger
bc4bb89af2
ICU-20488 mutex static constructor fixes.
...
Remove the dependencies from the ICU library code on static constructors
that were introduced by using std::mutex and condition variables. The
mutexes are lazily initialized by embedding them as local static variables
in getter functions, and relying on the C++ compiler/runtime to do thread
safe initialization of them.
2019-03-12 09:52:16 -07:00
Andy Heninger
47d455a725
ICU-20179 Remove platform-specific mutex and atomics implementations.
...
Remove all POSIX and Win32 specific mutex, atomic and threading implementations
in favor of C++11 std library functions.
Move the related (internal) ICU types and functions into the icu namespace.
2018-11-19 17:17:09 -08:00
Andy Heninger
6c781b1428
ICU-10183 Use std::mutex by default; clean up related dependency check issues.
2018-11-18 16:28:40 -08:00
Andy Heninger
776b9d7f2b
ICU-20185 Remove U_USER_ATOMICS_H, U_USER_MUTEX_H, U_USER_MUTEX_CPP
2018-11-13 14:48:48 -08:00
Andy Heninger
f71796d5e5
ICU-10183 Mutexes, add C++11 std::mutex based implementation.
2018-10-31 13:07:19 -07:00
William Zhao
d847a21238
ICU-13275 Merge warning cleanup fixes into trunk
...
X-SVN-Rev: 40283
2017-07-22 01:11:59 +00:00
Andy Heninger
242e02c388
ICU-12764 icu4c utf-8 source files, update Copyright notices.
...
X-SVN-Rev: 39583
2017-01-20 00:20:31 +00:00
Steven R. Loomis
3ea904d734
ICU-12783 umutex patch for cygwin, merge r39417
...
X-SVN-Rev: 39422
2016-10-04 04:01:33 +00:00
Michael Ow
61607c2773
ICU-12564 Update copyright notice in trunk
...
X-SVN-Rev: 38848
2016-06-15 18:58:17 +00:00
Yoshito Umaoka
00ca13e126
ICU-12564 Reverted r38761 and r38762, because we want to prepend the Unicode copyright for existing source files, instead of replacing copyright comments.
...
X-SVN-Rev: 38776
2016-05-31 21:45:07 +00:00
Michael Ow
c9f199a30f
ICU-12564 Update copyright notice in ICU4C
...
X-SVN-Rev: 38761
2016-05-26 22:32:17 +00:00
Andy Heninger
10c2719630
ICU-12524 Remove fragile Windows conditional.
...
X-SVN-Rev: 38684
2016-05-02 21:03:03 +00:00
Andy Heninger
d3301f2a4e
ICU-11599 Adjust atomic ops code to be more compatible with thread sanitizer tools.
...
X-SVN-Rev: 37326
2015-04-09 23:16:55 +00:00
Andy Heninger
f2c54ff494
ICU-11559 Remove obsolete comment from umtx_initImplPostInit()
...
X-SVN-Rev: 37094
2015-02-27 18:58:11 +00:00
Andy Heninger
96835f80a5
ICU-10948 Condition Variables, merged from development branch.
...
X-SVN-Rev: 36101
2014-07-29 23:18:47 +00:00
Steven R. Loomis
b33fbff3e9
ICU-10974 patch: building ICU with clang-cl
...
X-SVN-Rev: 35952
2014-06-26 01:39:03 +00:00
Andy Heninger
dbcf79f57b
ICU-10799 ICU initialization code, review & cleanup.
...
X-SVN-Rev: 35649
2014-04-23 23:22:13 +00:00
Steven R. Loomis
4c46fa7dd8
ICU-10365 another typo as per r34214
...
X-SVN-Rev: 34215
2013-09-06 05:01:22 +00:00
Andy Heninger
bb7e5684de
ICU-10365 Mutex implementation, use ICU namespace where possible, cleans up urename.
...
X-SVN-Rev: 34209
2013-09-06 01:41:14 +00:00
Andy Heninger
45561757cc
ICU-10182 Build Time mutexes, merge from development branch.
...
X-SVN-Rev: 34139
2013-08-30 01:23:42 +00:00
Steven R. Loomis
80597323f8
ICU-10331 fix immediate issue on cygwin, mingw still broken. also fix warnings and spaces
...
X-SVN-Rev: 34133
2013-08-29 21:36:06 +00:00
Andy Heninger
ae87a3acc2
ICU-10051 Mutexes: introduce UInitOnce; remove UMTX_CHECK; replace all uses of UMTX_CHECK. All the directories this time.
...
X-SVN-Rev: 33788
2013-06-01 03:37:16 +00:00
Andy Heninger
803ac8f33c
ICU-9461 Mutex Implementation Rework, merge from devel branch.
...
X-SVN-Rev: 32530
2012-10-05 21:22:02 +00:00