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
Adds a node to the head of the linked list.
Change-Id: I03fc81f348c5c4fdab8680928b6e353413e4bc3c
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
The second macro parameter is named 'next' like listnode structure
'next' field. Since the precompiler will expand all 'next' occurrences
in the macro definition with what is passed by the caller, it is not
possible to call this macro with something else than 'next' as second
parameter.
This patch replaces the 'next' parameter with 'n' allowing use of a
next node not named 'next'.
Change-Id: I78c859caf8193f21fe0bedaeaa8342d6e89ad14b
Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
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
With __USE_MINGW_ANSI_STDIO mingw compiler uses its own replacement
printf*/scanf* libraries instead of Microsoft's ones which aren't always
C99 compatible. Declare "archetype" of attribute format to gnu_printf
because the default "printf" in mingw follows MS standard.
One result is that "%z" (a gnu-extension) is accepted w/o warning by
mingw compiler
Change-Id: I3e92f34e2a1e8d664b4f1f55d450f7c2790671f3
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
Automatically assigned as a GID to all apps running under the same
Android profile. Used for exposing to or sharing files with apps
running in a specific profile.
Analogous to AID_SHARED_GID only the sharing is between processes with
the same userId rather than with the same appId.
The name to be displayed for uids/gids with this AID is 'u*_everyone'.
Change-Id: I46efb749f74cb86868c5609a0ce1a6aab2f9e9c9
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