| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
With fprintf, sometimes after fork child process gets stuck in fuxtex
waiting queue. To fix this problem this change opens the file in SYNC
mode using open command and writes to the file using write command.
(cherry picked from commit d96ad66076c70cd472bd36fc128031750751c09b)
Change-Id: I7b0a386b1a86f2db3a1829f3d2210911febb2fbc
CRs-Fixed: 272695
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows an executable to call its destructor functions
(declared with __attribute__((destructor))) to be properly called
when it normally exits.
Note that this is different from calling the destructors of a shared
library when it is unloaded with dlclose() or through program exit,
which are already supported.
Bug: 3106500
Change-Id: I1412ef5407f13b613fc6cb6103e0a691dbee4b1a
|
|
|
|
|
|
| |
Backport change I9fc8b790 from Master to Gingerbread
Change-Id: I5cf48fcd4efb7991ed82f87d9365c19655dc9b7f
|
|
|
|
|
|
|
|
|
| |
Previously, the malloc leak checking code would crash in qsort()
if null entries existed in its bookkeeping table. This change
makes the comparison function detect null entries and sort them
to the end safely.
Change-Id: I88244a7df1e289dd9d7992ce29606d505bd63079
|
|
|
|
|
|
|
| |
This also allows us to optimize the case where we increment an
uncontended semaphore (no need to call futex_wake() then).
Change-Id: Iad48efe8551dc66dc89d3e3f18c001e5a6c1939f
|
|
|
|
| |
Change-Id: Iddb2204fa792fa9aca5f19838926dddbb09b74a2
|
|
|
|
|
|
|
|
| |
Also add missing declarations to misc. functions.
Fix clearerr() implementation (previous was broken).
Handle feature test macros like _POSIX_C_SOURCE properly.
Change-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch, _and_ an upcoming build/ patch, the destruction
of static C++ objects contained in shared libraries will happen
properly when dlclose() is called.
Note that this change introduces crtbegin_so.S and crtend_so.S which
are currently ignored by the build system.
+ move definition of __dso_handle to the right place
(before that, all shared libraries used the __dso_handle
global variable from the C library).
Note that we keep a 'weak' __dso_handle in aeabi.c to avoid
breaking the build until the next patch to build/core/combo/
appears. We will be able to remove that later.
+ move bionic/aeabi.c to arch-arm/bionic/ (its proper location)
Change-Id: Ie771aa204e3acbdf02fd30ebd4150373a1398f39
NOTE: The NDK will need to be modified to enable this feature in
the shared libraries that are generated through it.
|
|
|
|
|
|
|
|
| |
We simply copy the stuff we need from cutils headers.
A future patch will change cutils to include the private <bionic_atomic_inline.h>
Change-Id: Ib6fd9a03bc9e337ce867bd606dc94c2b4438480a
|
|
|
|
|
|
|
| |
!= 0.
Change-Id: I534e36a7171cd37037ae03b910ba71ea6968286d
Note: previously, sem_init() would return an error if pshared != 0.
|
|\
| |
| |
| | |
Change-Id: I2b9b80a7fa32c56be2b85ff8be0d6e7ac1848afe
|
| |\
| | |
| | |
| | | |
Change-Id: Ib7fc9c6f79f9b13e2175da137005d8968ea85eaf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... so that each cloned process at the kernel level can be named
independently. Tools like 'top' can display the CPU/memory statistics
for each process's thread if "Show Threads" mode is on.
With this function in place, we can convert dalvik/Thread.c setThreadName()
function over this function. This feature ought to be provided by the
underlying C library and not coded directly in Dalvik.
Change-Id: Ifa997665dbaa114e0b126f8c667708be9a4137fd
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update ARM atomic ops to use LDREX/STREX. Stripped out #if 0 chunk.
Insert explicit memory barriers in pthread and semaphore code.
For bug 2721865.
Change-Id: I0f153b797753a655702d8be41679273d1d5d6ae7
|
|/ /
| |
| |
| | |
Change-Id: I756d8c26afc37cd7b71117ddbaa02a2cb40fdecb
|
|\ \
| |/
| |
| | |
Change-Id: If02d33af51017dbd85e91c79ac2e848eda6cf253
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
log_channel_t contains fd member, which is file descriptor for
exact logging channel. change cc05d1271680d6a7804bc89d3b1fe14c40b32396
lacks initialization of this member in __write_to_log_init(), thus
logging code is not working, although not crashable.
Additional details may be found in comments here:
http://review.source.android.com/5617
|
| | |
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Change-Id: I739c63c5a7344fff1775580044dc647edf246ebf
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: If77618a329fc7b497c44c2585e644bc50e7e1406
|
| | |
| | |
| | |
| | | |
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I5ddd93f0557e5a7401460dc9fc8a55b330a79c3a
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
|
| | |
| | |
| | |
| | | |
Change-Id: I832901604b487c6a50304c311b5ba135e153530d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that the system properly uses shared condvars when needed, we
can enable the use of private futexes for them too.
Change-Id: Icf8351fc0a2309f764cba45c65bc3af047720cdf
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I70266ee8c520b216773f267e46c8273d2334c31d
|
| |\ \ |
|
| | |/
| | |
| | |
| | |
| | |
| | | |
... by using similar logic as used in pthread_detach().
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
|
| |\ \ |
|
| | |/
| | |
| | |
| | | |
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
|
| |\ \ |
|
| | |/
| | |
| | |
| | |
| | |
| | | |
... and simplify the generated code.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
|
| |/
| |
| |
| |
| |
| | |
... for the consistency sake.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This does not change the implementation of conditional variables
since we're waiting for other system components to properly use
pthread_condattr_init/setpshared before that.
Also remove an obsolete x86 source file.
Change-Id: Ia3e3fbac35b87a534fb04d4381c3c66b975bc8f7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Note that this does not change the implementation of conditional variables
which still use shared futexes, independent on the flags being selected.
This will be fixed in a later patch, once our system is modified to use
pthread_condattr_setpshared(attr, PTHREAD_PROCESS_SHARED) properly.
Change-Id: I935de50964cd41f97a13dbfd6626d3407b0406c3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is preliminary work to simplify later changes to support
private futexes.
Change-Id: I06750936a93747a5e3f5a10228cbdc29e39c528c
|
| | |
| | |
| | |
| | |
| | |
| | | |
condvars"
This reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Private futexes are a recent kernel addition: faster futexes that cannot be
shared between processes. This patch uses them by default, unless the PROCESS_SHARED
attribute flag is used when creating a mutex and/or conditional variable.
Also introduces pthread_condattr_init/destroy/setpshared/getpshared.
Change-Id: I3a0e2116f467072b046524cb5babc00e41057a53
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Any of the setuid functions now updates /acct/uid/ with its own tid
before changing users. This is so we can properly account for cpu time
per uid.
Change-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4
Signed-off-by: Mike Chan <mike@android.com>
|
| | |
| | |
| | |
| | |
| | | |
Before that, it returned -1 on error and set errno (not Posix)
After the patch, it returns the error code and leaves errno untouched.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I304c789a752c9f4af4944ca14b9bf1e7644da15a
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | | |
This fixes getpwnam and getpwgrp which returned NULL for "app_0".
"app_0" corresponds to uid/gid 10000 and is perfectly valid.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Only provide an implementation for ARM at the moment, since
it requires specific assembly fragments (the standard syscall
stubs cannot be used because the child returns in a different
stack).
|
| | |
| | |
| | |
| | | |
Change-Id: I5fe7e8b6ee5edbb49e707c3b6737a58563781fa3
|
| | |
| | |
| | |
| | | |
Change-Id: Id47514a1812d828e95efa2fab0e9c15c5b682b58
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The file descriptor wasn't getting set, so the writev() call was
silently failing.
There's a parallel implementation over in system/core/liblog, but it's
still using the old approach and didn't have this problem.
|