summaryrefslogtreecommitdiffstats
path: root/libc/bionic/system_properties.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix a couple more cases of missing CLOEXEC.Elliott Hughes2014-09-221-2/+2
| | | | | | | The debuggerd case can probably never happen, because you're crashing at this point anyway. The system property one seems possible though. Change-Id: Idba6a4f1d68587ec5b320d1e25f0b6a987ea32a0
* More cases where libc should use O_CLOEXEC.Elliott Hughes2014-08-261-19/+2
| | | | Change-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0
* Work around atomic_load(const T*) issues.Hans Boehm2014-08-191-3/+11
| | | | | Bug:17067219 Change-Id: I78e753bcf03464f5f05c3f37e394f2727d282589
* Add memory ordering constraint, convert to C11 atomicsHans Boehm2014-08-081-21/+63
| | | | | | | | | | | | Add an ordering constraint/fence to __system_property_serial. This slows down a read on a Nexus 5 from about 50 to about 70 ns, but avoids the possibility of seeing an inconsistent property value. Use C11 atomic operations where easy and appropriate. This code remains not fully C++11 memory model conformant, but I would now expect the generated code to now be correct with current compilers. Bug:14970171 Change-Id: I0891ff1d0f914ae5c3857e3d76b6a7c8a4a07d83
* Move common macros into bionic_macros.h.Christopher Ferris2014-06-181-4/+1
| | | | | Bug: 15590152 Change-Id: I730636613ef3653f68c5ab1d43b53beaf8e0dc25
* Hide most of the private futex functions.Elliott Hughes2014-05-211-2/+1
| | | | | | | | | | Also hide part of the system properties compatibility code, since we needed to touch that to keep it building. I'll remove __futex_syscall4 and futex in a later patch. Bug: 11156955 Change-Id: Ibbf42414c5bb07fb9f1c4a169922844778e4eeae
* Remove the unused __system_property_wait.Elliott Hughes2014-05-141-17/+0
| | | | | | | This isn't declared in any header file. Bug: 14970171 Change-Id: Ib9fce61343dfb6b6ccd7e1430e1a6e34e4e869df
* Bring in google3-style DISALLOW_* macros.Elliott Hughes2014-05-091-9/+4
| | | | | | I've been meaning to do this for a very long time... Change-Id: Ia8c16eee7c026c3c9505399948485fb778fb0152
* property: fix getting dirty serial valuejiaguo2014-03-131-14/+14
| | | | | | | | | __system_property_serial just returned serial value without checking if it is dirty, so check and wait until serial value is not dirty before return Change-Id: If485b6251b5555b004912c66c7c2cb455a7fdbdc Signed-off-by: jiaguo <jiaguo@marvell.com>
* Fix 64-bit build.Narayan Kamath2014-02-241-1/+1
| | | | | | | | | | | | | | | | A warning about signed vs unsigned comparison was converted into an error here : ... struct stat st; if (st.st_size > sizeof(prop_area) { ... st_size is either an off64_t, which is a signed type. It's worth investigating why this didn't trigger a warning on 32 bit, where it's signed as well. Change-Id: Ib2622bd5c444ddcfa7fb2141f00332cbb4a0818b
* Move system_properties over to C++.Narayan Kamath2014-02-241-0/+763
This change constitutes the minimum amount of work required to move the code over to C++, address compiler warnings, and to make it const correct and idiomatic (within the constraints of being called from C code). bug: 13058886 Change-Id: Ic78cf91b7c8e8f07b4ab0781333a9e243763298c