summaryrefslogtreecommitdiffstats
path: root/libutils
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-10.0.0_r23' into ↵Michael Bestas2020-01-081-1/+6
|\ | | | | | | | | | | | | | | | | | | | | staging/lineage-17.1_merge-android-10.0.0_r23 Android 10.0.0 release 23 * tag 'android-10.0.0_r23': FlattenableUtils::align memsets Change-Id: I4042ad902074d4cc8c5953cfe27f8bb34fdbdb01
| * FlattenableUtils::align memsetsSteven Moreland2019-11-151-1/+6
| | | | | | | | | | | | | | | | Bug: 141890807 Test: boot, check data is zero'd Change-Id: I45aaeac369f4c5cf3eb44f61c233e00f870a5c79 (cherry picked from commit bf824f8fa50d9f7390057278fefb58e83323a644) (cherry picked from commit e62a9d7669ac85844d4424474f5c88c096f7160b)
* | utils: Threads: Handle empty thread namesChristopher N. Hesse2019-12-231-1/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fixes camera for Samsung Exynos devices: 08-30 18:07:03.585 2729 2729 I ExynosCameraFrameFactory: INFO(startThread[1608]):pipeId=0 08-30 18:07:03.585 2729 2729 F libutils.threads: thread name not provided to Thread::run 08-30 18:07:03.586 2729 2729 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 2729 (cameraserver) 08-30 18:07:03.587 2548 2548 W : debuggerd: handling request: pid=2729 uid=1047 gid=1005 tid=2729 08-30 18:07:03.656 6489 6489 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 08-30 18:07:03.656 6489 6489 F DEBUG : Build fingerprint: 'samsung/aosp_gts210ltexx/gts210ltexx:7.0/NYC/chris08292135:userdebug/test-keys' 08-30 18:07:03.656 6489 6489 F DEBUG : Revision: '0' 08-30 18:07:03.657 6489 6489 F DEBUG : ABI: 'arm' 08-30 18:07:03.657 6489 6489 F DEBUG : pid: 2729, tid: 2729, name: cameraserver >>> /system/bin/cameraserver <<< 08-30 18:07:03.658 6489 6489 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- 08-30 18:07:03.673 6489 6489 F DEBUG : Abort message: 'thread name not provided to Thread::run' 08-30 18:07:03.673 6489 6489 F DEBUG : r0 00000000 r1 00000aa9 r2 00000006 r3 00000008 08-30 18:07:03.674 6489 6489 F DEBUG : r4 b5a2c58c r5 00000006 r6 b5a2c534 r7 0000010c 08-30 18:07:03.674 6489 6489 F DEBUG : r8 b28b5380 r9 00000000 sl 00000000 fp b2a92800 08-30 18:07:03.674 6489 6489 F DEBUG : ip 00000016 sp be90b350 lr b4f7e537 pc b4f80d94 cpsr 200f0010 08-30 18:07:03.694 6489 6489 F DEBUG : 08-30 18:07:03.694 6489 6489 F DEBUG : backtrace: 08-30 18:07:03.694 6489 6489 F DEBUG : #00 pc 00049d94 /system/lib/libc.so (tgkill+12) 08-30 18:07:03.694 6489 6489 F DEBUG : #01 pc 00047533 /system/lib/libc.so (pthread_kill+34) 08-30 18:07:03.694 6489 6489 F DEBUG : #02 pc 0001d885 /system/lib/libc.so (raise+10) 08-30 18:07:03.694 6489 6489 F DEBUG : #03 pc 000193d1 /system/lib/libc.so (__libc_android_abort+34) 08-30 18:07:03.694 6489 6489 F DEBUG : #04 pc 00017014 /system/lib/libc.so (abort+4) 08-30 18:07:03.695 6489 6489 F DEBUG : #05 pc 0000bfd5 /system/lib/libcutils.so (__android_log_assert+112) 08-30 18:07:03.695 6489 6489 F DEBUG : #06 pc 0000e265 /system/lib/libutils.so (_ZN7android6Thread3runEPKcij+212) 08-30 18:07:03.695 6489 6489 F DEBUG : #07 pc 00045903 /system/lib/libexynoscamera.so (_ZN7android16ExynosCameraPipe11startThreadEv+74) 08-30 18:07:03.695 6489 6489 F DEBUG : #08 pc 0007b1c3 /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory11startThreadEj+70) 08-30 18:07:03.695 6489 6489 F DEBUG : #09 pc 0007bcef /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory19startInitialThreadsEv+70) 08-30 18:07:03.695 6489 6489 F DEBUG : #10 pc 0006231d /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera22m_startPreviewInternalEv+1140) 08-30 18:07:03.695 6489 6489 F DEBUG : #11 pc 0006b897 /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera12startPreviewEv+1666) 08-30 18:07:03.695 6489 6489 F DEBUG : #12 pc 000037b1 /system/lib/hw/camera.universal5433.so 08-30 18:07:03.695 6489 6489 F DEBUG : #13 pc 0006094f /system/lib/libcameraservice.so (_ZN7android12CameraClient16startPreviewModeEv+102) 08-30 18:07:03.695 6489 6489 F DEBUG : #14 pc 00060825 /system/lib/libcameraservice.so (_ZN7android12CameraClient15startCameraModeENS0_11camera_modeE+68) 08-30 18:07:03.695 6489 6489 F DEBUG : #15 pc 000282f9 /system/lib/libcamera_client.so (_ZN7android8hardware8BnCamera10onTransactEjRKNS_6ParcelEPS2_j+724) 08-30 18:07:03.695 6489 6489 F DEBUG : #16 pc 000359b3 /system/lib/libbinder.so (_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j+70) 08-30 18:07:03.695 6489 6489 F DEBUG : #17 pc 0003d159 /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi+684) 08-30 18:07:03.695 6489 6489 F DEBUG : #18 pc 0003cdb7 /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+114) 08-30 18:07:03.695 6489 6489 F DEBUG : #19 pc 0003d2bb /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+46) 08-30 18:07:03.695 6489 6489 F DEBUG : #20 pc 00000b4d /system/bin/cameraserver 08-30 18:07:03.696 6489 6489 F DEBUG : #21 pc 00016c2d /system/lib/libc.so (__libc_init+48) 08-30 18:07:03.696 6489 6489 F DEBUG : #22 pc 00000a18 /system/bin/cameraserver Change-Id: Ib6234260a5fc5798eea580e0ac594313650de933 (cherry picked from commit cd7f3b155ed18408379e73b454932e0cd88a507d)
* Merge "libutils: more detailed logging."Treehugger Robot2019-04-021-4/+4
|\
| * libutils: more detailed logging.Elliott Hughes2019-04-011-4/+4
| | | | | | | | | | | | | | | | | | The question arose on the bug of whether this is a legit errno or just a stale value. Bug: http://b/129139241 Test: ran tests Change-Id: I486176496028f04d4fcccdd0b29a3df6b13849c9
* | libutilscallstack: removed from darwinSteven Moreland2019-04-011-0/+3
|/ | | | | | | | | | | | | | libbacktrace only includes its Backtrace.cpp on the linux targets but not windows or darwin targets. So, both should be disabled. Previously, libutilscallstack was only ever a static library on these platforms. Since nothing provided the symbols, these targets couldn't have been used. Fixes: 129636352 Test: m Change-Id: I3f0b09e1d67c485b3ea57f58d1220d9516b326f2
* Merge "libutils/libcutils: make host more like device"Steven Moreland2019-03-291-15/+9
|\
| * libutils/libcutils: make host more like deviceSteven Moreland2019-03-281-15/+9
| | | | | | | | | | | | | | | | | | | | | | Having shared host libraries allows libraries depending on these to use 'shared_libs' for these. This simplifies configurations since these libraries don't have to specify 'shared_libs' on all non-host targets. Bug: 124524556 Test: build only Change-Id: I09fb4a4fb66ea0a87cb76b1e6f400c537a11f082
* | libutils: Fix thread safety annotations in MutexMikhail Naganov2019-03-292-3/+19
|/ | | | | | | | | The annotations for Mutex::tryLock and timedLock were incorrectly specifying the return value for the successful acquisition. Test: make libutils_test Change-Id: I9729b6555ede5cb1d6db046e33c35bf5926c7755
* Revert "Revert "Fix wp and sp comparison bugs""Hans Boehm2019-03-133-56/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix wp and sp comparison bugs Make clear() actually clear wp m_refs, so that nulls compare equal. Make equality consistent with < and >, ensuring that a weak pointer cannot be both equal to and greater than another. Don't rely on the built-in < and > operators to correctly order different objects. The standard does not guarantee that, and there is a risk of compiler relying on that lack of guarantee. Remove unnecessary comparison overloads, especially those comparing a wp<> to an sp<>. Change the remaining wp<> to sp<> comparisons to check for equivalence of the mRefs pointer instead of the object address, thus eliminating the dubious equal comparison result for a dead wp<> and an sp<> that happen to point to the same object address. Add comparison tests. This reverts commit a2a2ad805775ea88f25388677aa37e0492a492c4. The original code, and my original CL, both failed to initialize m_refs in various wp<> constructors. This now became more important, since comparisons now rely more on m_refs. However I believe it was always a bug, since some comparisons always relied on m_refs. Test: Treehugger, boot AOSP, atest RefBase Bug: 126922090 This reverts commit a2a2ad805775ea88f25388677aa37e0492a492c4. Reason for revert: Reapply after constructor fixes. Change-Id: I2c8917416a2306e36d2b6bb7b397f653020e5688
* Revert "Fix wp and sp comparison bugs"Hans Boehm2019-03-133-234/+47
| | | | | | | | This reverts commit 029b12ebde0b5a13b4b1252dc20b2ecc8194d5b7. Reason for revert: There appear to be problems with null comparisons. Reported failure in HwcBufferCacheTest. Change-Id: I19745bb281dabe8b05c2df3fe95e7be7a49dcd51
* Fix wp and sp comparison bugsHans Boehm2019-03-093-47/+234
| | | | | | | | | | | | | | | | | | | | | | | | | Make clear() actually clear wp m_refs, so that nulls compare equal. Make equality consistent with < and >, ensuring that a weak pointer cannot be both equal to and greater than another. Don't rely on the built-in < and > operators to correctly order different objects. The standard does not guarantee that, and there is a risk of compiler relying on that lack of guarantee. Remove unnecessary comparison overloads, especially those comparing a wp<> to an sp<>. Change the remaining wp<> to sp<> comparisons to check for equivalence of the mRefs pointer instead of the object address, thus eliminating the dubious equal comparison result for a dead wp<> and an sp<> that happen to point to the same object address. Add comparison tests. Test: Treehugger, boot AOSP, atest RefBase Bug: 126922090 Change-Id: I15911150e0fc85ace2c4b77d337826e12793c690
* Add `test_suites` to libutils_test.Elliott Hughes2019-02-251-6/+21
| | | | | | | | | Also move the singleton test out because our infrastructure can't cope with tests that have their own test libraries. Bug: http://b/124838889 Test: atest Change-Id: Iddce3325a56d44a4288ace2a29921a3e02367413
* Clean up libcutils/libutils tests.Elliott Hughes2019-02-1120-196/+131
| | | | | | | | | | | | | | | | | Move tests in the same directory as the corresponding code, so it's easier to see what is/isn't tested. Fix naming of libcutils_tests (plural) to match the singular that's more common (even though the plural makes more sense to me). Add these two to system/core/'s TEST_MAPPING. Remove obsolete AndroidTest.xml. Fix a flaky (timing-dependent) libcutils test. Test: ran tests Change-Id: I7e0a31ff45c8a152562bf66fc97161594249366e
* MappedFile and FileMap should support zero-length mappings.Elliott Hughes2019-02-063-19/+49
| | | | | | Bug: http://b/119818070 "app crashes when reading asset of zero length" Test: ran tests Change-Id: Idd2ad6f6e72c8e445aff78a460fac96dea41c950
* Merge changes from topic "re-revert move sched_policy functions"Suren Baghdasaryan2019-01-252-1/+4
|\ | | | | | | | | | | | | * changes: DO NOT MERGE: Revert "Revert "Add dependencies on libprocessgroup for sched_policy users"" DO NOT MERGE: Revert "Revert "libcutils: Move sched_policy functions into libprocessgroup"" DO NOT MERGE: Revert "Revert "Add libprocessgroup into VNDK""
| * DO NOT MERGE: Revert "Revert "Add dependencies on libprocessgroup for ↵Suren Baghdasaryan2019-01-252-1/+4
| | | | | | | | | | | | | | | | | | | | | | sched_policy users"" This reverts commit 1bef8c550c6c9118969a93f14d9c5933cb7b2811. Reason for revert: AOSP is fixed with new vendor image Change-Id: Ib341ac80e2f88c13a7815a490ea2d9422ebdf55f Signed-off-by: Suren Baghdasaryan <surenb@google.com>
* | Merge "Remove dead code."Elliott Hughes2019-01-252-20/+0
|\ \ | |/ |/|
| * Remove dead code.Elliott Hughes2019-01-242-20/+0
| | | | | | | | | | | | | | | | If this was strlcpy16 it wouldn't be such a bad idea, but strncpy16 is just an accident waiting to happen... Test: N/A Change-Id: Id296fdeadfb9f1f70ddc8fb6d31b3b6b5178a12c
* | DO NOT MERGE: Revert "Add dependencies on libprocessgroup for sched_policy ↵Suren Baghdasaryan2019-01-232-4/+1
|/ | | | | | | | | | | users" This reverts commit 02843339f998f05c712549658c9f8f8bc14ff57d. Reason for revert: Broke AOSP Change-Id: I62f91c0adf440b5da0a145862b04dd27a7016faf Signed-off-by: Suren Baghdasaryan <surenb@google.com>
* Add dependencies on libprocessgroup for sched_policy usersSuren Baghdasaryan2019-01-222-1/+4
| | | | | | | | | | | | | | After moving sched_policy functions into libprocessgroup its users require additional dependency and inclusion of sched_policy_ctrl.h header. Exempt-From-Owner-Approval: janitorial Bug: 111307099 Test: builds, boots Merged-In: Icc052080e1bce46ce06f7264446950cab0490a95 Change-Id: Icc052080e1bce46ce06f7264446950cab0490a95 Signed-off-by: Suren Baghdasaryan <surenb@google.com>
* Merge "libutils: use libbase_headers instead of libbase."Treehugger Robot2019-01-081-1/+1
|\
| * libutils: use libbase_headers instead of libbase.Josh Gao2019-01-021-1/+1
| | | | | | | | | | | | Bug: http://b/121391019 Test: treehugger Change-Id: I0e5d218b9afe6f832cc6bd0ef78bc1a5581f3e2f
* | CallStack: include prefix/tag when unlinkedSteven Moreland2019-01-031-5/+6
|/ | | | | | Bug: N/A Test: manual Change-Id: I8f7a19744af938a02d876ab81c1dafee04744f96
* use epoll_create1Nick Kralevich2018-12-171-4/+1
| | | | | | | | | epoll_create leaks file descriptors. Use epoll_create1(EPOLL_CLOEXEC) instead. Bug: 120983106 Test: compiles and boots Change-Id: I7c135ee22aee61cc7895486fda904b1790c093d1
* Suppress lint warnings on google-default-argumentsJiyong Park2018-10-291-0/+1
| | | | | | | | | | | | | | | The lint rule google-default-arguments ensures that virtual or override methods do not have default arguments, because different default values across the hierarchy chain (e.g. Base::foo(int a=0) v.s. Derived::foo(int a=10)) can cause confusions. However, since the uses of the default arguments in libbinder don't lead to such problem, suppress the warnings. Test: WITH_TIDY=true WITH_TIDY_CHECKS=google-default-arguments m libbinder does not show any warning about google-default-arguments Change-Id: Ica41034ab0ad1037a0facc447ee47e0c77fa9c55
* "utils/Errors.h": include <stdint.h> for `int32_t`.Elliott Hughes2018-10-161-15/+8
| | | | | | | | No need for a Unix/Windows difference here. Bug: N/A Test: builds Change-Id: If7b27f939f9c13ef336d2015608f2a24db8cc96d
* Move system/core/ off NO_ERROR.Elliott Hughes2018-10-0810-58/+59
| | | | | | | | It causes trouble for Windows, and OK already exists. Bug: N/A Test: builds Change-Id: Ida22fd658b0ebb259c710ba39049b07c9e495d9c
* Add noexcept to move constructors and assignment operators.Chih-Hung Hsieh2018-10-053-14/+19
| | | | | | Bug: 116614593 Test: build with WITH_TIDY=1 Change-Id: I5a7461386946ca623ab509609092aa0ac8418b80
* Suppress implicit-fallthrough warnings.Chih-Hung Hsieh2018-09-173-2/+9
| | | | | | | | Add FALLTHROUGH_INTENDED for clang compiler. Bug: 112564944 Test: build with global -Wimplicit-fallthrough. Change-Id: I40f8bbf94e207c9dd90921e9b762ba51abab5777
* Move off safe-iop.Elliott Hughes2018-08-282-11/+9
| | | | | | Bug: http://b/25224572 Test: ran tests Change-Id: I6687015eedb28c69d1f57c9d3cd7324d4995e47a
* Merge "Check sp<>::clear() for data races"Hans Boehm2018-08-171-2/+4
|\
| * Check sp<>::clear() for data racesHans Boehm2018-08-171-2/+4
| | | | | | | | | | | | | | | | | | sp<>::clear() presents the same risks of heap corruption in the presence of data races as does assignment. Add the same data race check. Bug: 112651574 Test: Build and boot AOSP Change-Id: I75d4eedd756d521920e61ff9187509f9145d4235
* | libutils: remove unused strzcmp16_h_n.Elliott Hughes2018-08-172-24/+0
|/ | | | | | Bug: N/A Test: builds Change-Id: I864bfb3597da76cd0a4fecce67e39d5d81538764
* Revert^2 "Prepare to fail in RefBase destructor if count is untouched"Hans Boehm2018-08-083-30/+162
| | | | | | | | | | This reverts commit b9d0753d2ba88cc60947823e68bb3bed60268361. Reason for revert: Re-land with MacOS workaround. Test: Build (on Linux) and boot AOSP, with weak symbols enabled and disabled. Change-Id: I5150cd90367178f3b039761dca3bccc9c2987df1
* Merge "Merge Android Pie into master"Xin Li2018-08-071-28/+34
|\
| * Merge "Prepare to fail in RefBase destructor if count is untouched"Hans Boehm2018-08-063-30/+120
| |\ | | | | | | | | | | | | | | | am: f502182ac6 Change-Id: I91ff7140a9a72c910ef01a2e13f277fa36c82b50
| * \ Merge changes from topic "looper_unique_fd"Josh Gao2018-07-233-29/+30
| |\ \ | | | | | | | | | | | | | | | | | | | | am: 7e7cefa2c7 Change-Id: Id920135cff272f593b71ef8cb7ff41ee16de4484
| * \ \ Merge "[libutils] Modernize codebase by replacing NULL with nullptr"Yi Kong2018-07-1725-132/+132
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | am: ab3203f383 Change-Id: I5c2aaaea705a3ab82a5ad999f813e4cc22e63401
| * \ \ \ Merge "Modernize codebase by replacing NULL with nullptr"Yi Kong2018-07-1310-24/+24
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 9154fbc8df Change-Id: I439ffa4df2e5672ed2b66d88abbb61ed67355926
| * \ \ \ \ Shared libs are supported in recovery modeJiyong Park2018-06-132-3/+8
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 011ee12b1d Change-Id: I867dbafecf11215b82d952c532774cdf12c6e782
| * \ \ \ \ \ Merge "Mark as recovery_available: true" am: 9f6f8bf0dcJiyong Park2018-05-211-0/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: d7fece5d91 Change-Id: Id59445da13aeef13784f04daebc8a96a7d506cbb
| * \ \ \ \ \ \ Merge "Remove more semicolons at the end of namespaces" am: d652a9e231Pirama Arumuga Nainar2018-04-1223-32/+23
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: b2206b0d43 Change-Id: Ie6da257aac75729e056918f4a5f2c9e339ff05ab
| * \ \ \ \ \ \ \ Merge "Remove extra semicolon at end of namespace" am: 1d2bf45b55Pirama Arumuga Nainar2018-04-107-8/+8
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: c309a0715f Change-Id: I1a1b0c6c6837f2985bdccfd5b3f4d05a1feec006
| * \ \ \ \ \ \ \ \ Merge "Revert "libutilscallstack is private VNDK-SP"" am: 7a72d07e40Jiyong Park2018-03-151-1/+0
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: bde587f715 Change-Id: If7634b1db99f068e77f73d8274f1f54efabde5d0
| * \ \ \ \ \ \ \ \ \ Merge "libutils: Remove Static.cpp and darwin hacks." am: 929112bcd1Steven Moreland2018-03-084-103/+16
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 41a294981b Change-Id: Iebe132eaca4f9034a8e011881f1514f864529fc5
| * | | | | | | | | | | String16: remove integer overflowsSteven Moreland2018-03-011-28/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 73826242 Test: manual Change-Id: I32e13d61b944c1a527cf2d95473552d246e322be
* | | | | | | | | | | | Revert "Prepare to fail in RefBase destructor if count is untouched"Hans Boehm2018-08-073-120/+30
| |_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9d3146af22588e0c23e110be13a515f5347bf687. Reason for revert: It appears that weak symbols don't work as expected on MacOS, breaking the MacOS aapt build. Change-Id: Ica0955106485a7bf2e2c3f09ff7910e230eb4139
* | | | | | | | | | | Prepare to fail in RefBase destructor if count is untouchedHans Boehm2018-08-033-30/+120
| |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move towards crashing if a normally configured RefBase object is destroyed without ever incrementing the reference count. We've been threatening to do this for a long time. The previously last known violation had been fixed. This also fixes stack trace printing from RefBase, which had previously been broken, and which we found necessary to track down further violations of this rule. Unfortunately, we found several more violations with the aid of that fix. After existing CLs are submitted, there are still some failures, but they are no longer numerous. Thus this CL doesn't actually crash in the event of a violation, but does log a verbose stack trace if it encounters one. Bugs have been filed against the remaining known RefBase client offenders. We plan to enable crashing on usage violations once those are fixed. The fix for the stack trace printing breakage unfortunately requires the use of weak symbols in order to avoid a circular build dependency. We expect to eventually replace this with execinfo.h functionality. Some random reformatting, driven by consistency with current formatting requirements. Add missing include to BacktraceMap.h. Bug: 79112958 Bug: 30292291 Test: Boot AOSP, Master Change-Id: I8151c54560c3b6f75ffc4c48229f0388a2066958
* | | | | | | | | | libutils: switch Looper's fds to unique_fd.Josh Gao2018-07-183-29/+30
| |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch Looper to using unique_fd for its owned file descriptors, to benefit from fdsan. Bug: http://b/111560345 Test: treehugger Change-Id: I8efff7741ed19fd71f82f7e604b4f1c66fc5ea2b