After a disconnect, the initial blocking connect takes
a long time to return, while subsequent calls return
quicks. Switch to a non-blocking connect to make the
re-connect time more consistent and faster overall.
Change-Id: I21d02b22a8eb9a457c2f1fa95eb17894d5612ccd
Signed-off-by: Ken Lierman <ken.lierman@windriver.com>
Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
Reviewed-by: Jovanovic, Radivoje <radivoje.jovanovic@intel.com>
Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com>
This library is dynamically loaded and used by bionic, to replace selected
standard socket syscalls with versions that talk to netd.
Implement connect() by requesting that the socket be marked with the netId of
the default network and then calling through to the actual syscall.
There are two escape hatches:
+ If the fwmark server is unavailable, it isn't an error; we proceed with the
syscall. This might help at boot time (when the server isn't ready yet) and if
we get rid of the fwmarkd socket entirely in future platform versions.
+ If the ANDROID_NO_USE_FWMARK_CLIENT environment variable is set, we don't
attempt to use the fwmark server (even if it's available). This allows apps to
sidestep unforseen issues in production at runtime.
(cherry picked from commit 0581cb455ef924f128a5c6d46bc70868b5099eec)
Change-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9
This library is dynamically loaded and used by bionic, to replace selected
standard socket syscalls with versions that talk to netd.
Implement connect() by requesting that the socket be marked with the netId of
the default network and then calling through to the actual syscall.
There are two escape hatches:
+ If the fwmark server is unavailable, it isn't an error; we proceed with the
syscall. This might help at boot time (when the server isn't ready yet) and if
we get rid of the fwmarkd socket entirely in future platform versions.
+ If the ANDROID_NO_USE_FWMARK_CLIENT environment variable is set, we don't
attempt to use the fwmark server (even if it's available). This allows apps to
sidestep unforseen issues in production at runtime.
Change-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9
Forward declare ucontext_t so that it's not necessary for ucontext.h
to be included in the global header.
(cherry picked from commit b138037b26)
Change-Id: I0ffb5bf7c53da8467dd8770880ff412a5158d639
Forward declare ucontext_t so that it's not necessary for ucontext.h
to be included in the global header.
Change-Id: Ic13677dd572ab1acd927f0a17b284f9b417a642f
This new version doesn't require any specialized thread
implementation, it uses the Current implementation to do its job.
In addition, it runs much faster when multiple threads are trying
to unwind at the same time since the global signal lock is held for
only a small amount of time. Even running through the threads one at
a time should be faster since it no longer requires two passes through
the unwound stacks.
The new code now allows multiple simultaneous unwinds of the
same thread.
Finally, add the ability to unwind from a ucontext_t passed in. This
functionality doesn't work for remote unwinds yet.
Change-Id: I4d181d7ca5ffd2acfd1686e668e6d21e36b425cb
to AUDIO_CHANNEL_OUT_QUAD_BACK and AUDIO_CHANNEL_OUT_5POINT1_BACK
respectively, for consistency with terminology used in downmix effect
For the time being, preserve the old names to avoid changing existing code.
Change-Id: I11131e3f66087090a590c93921092ca4fc78cf1c
Bionic needs to re-raise various signals, which means the si_code
debuggerd sees has been clobbered. If bionic sends us the original
si_code value, we can use that instead of the one we see when the
ptrace the crashed process' siginfo.
Change-Id: If116a6bc667d55a6fb39b74f96673292af4e4c8c