1. Added:
rt_sigaction(),
rt_sigprocmask(), and
rt_sigtimedwait portable syscalls.
2. Fixed a bug in signal.c.
3. Added a new pair of functions to map siginfo_t
between portable and native formats.
4. Fixed LTP rt_siqqueueinfo01 and siqqueue() test failures.
5. Using these new siginfo_t mapping functions in functions
that were previously doing this functionality internally:
a. mips_sigaction_handler()
b. __rt_sigtimedwait_portable()
6. Modified rt_sigqueueinfo_portable():
a. Added a call to this new siginfo_pton() function.
b. Fixed native_sig calculation; it was converting
with the wrong function (ntop instead of pton).
7. Added the Thread Group Flavor of Real Time version of
sigqueueinfo().
8. Added and tested the sigqueue() implementation thought it's
not supported by Android yet. Using a LTP library function
to implement it via syscall for now. Android has a
sysconf() regression that will be addressed in a separate
commit.
9. Modified some of the variable names in:
__rt_sigtimedwait_portable()
to make it easier/faster to read.
10. Fixed a SIGTERM --> SIGTERM_PORTABLE mapping bug.
Most LTP Posix sigqueue() tests and the rt_sigqueueinfo01() test
now pass with this commit.
Change-Id: I5a2c28c4f5863cc013fe0c7fce819fa5b7a6dcc7
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
Unifying around the <class>_ntop() style;
changing ntop_*() and pton_* to *_ntop() and *_pton().
Also added portable versions of strerror() and strerror_r()
while updating the errno.c file.
Change-Id: I2a0f40963f293ef9387b0dbcb3426276d301a17c
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
File poll.c had a wide line and the reason for the asymmetric
mapping of the event flags wasn't obvious on my reviewing
this code. Seemed to justify adding some clarification.
Both signal.c and socket.c were using lengthy function names
for Portable <--> Native mappings. Switch to the newer *_ntop()
style in wide files and made the ALOGV() messages more useful.
Also changed mapping of portable SIGSTKFLT to native SIGEMT
while editing a wide line in the signal.c file. MIPS has no
SIGSTKFLT signal, nor ARM a signal SIGEMT. Using SIGEMT as a
proxy for SIGSTKFLT_PORTABLE for Lib-Portable applications.
This makes the signal mapping reversible during signal handling.
Fixed ALOGV() Entry/Exit brackets to match.
Change-Id: I9a91992e67ab24322db608424bf69c47fad8e18d
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
Also fixed syscall.c to use curly brackets in case
statements to be more like bionic.
Change-Id: I20ffab9a474a2132b47fb4e765966c956aab2aff
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
Signals needed to be mapped.
Change-Id: I946308f17cf7bc945287f716d0da50f515ac8fc4
Signed-off-by: Pete Delaney <piet@mips.com>\
Signed-off-by: Chris Dearman <chris@mips.com>
Socket type can also contain SOCK_NONBLOCK and SOCK_CLOEXEC flags.
NDK headers do not export these values but they seem to be aliases
of O_NONBLOCK and O_CLOEXEC. NDK headers do not define O_CLOEXEC.
Change-Id: If97fcb9f1ff130ea11a0da6452454a256f769809
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Pete Delaney <piet@mips.com>
Signals needed to be mapped.
Change-Id: Id0748924f16ac6787b87062d774e837a14d1233c
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Pete Delaney <piet@mips.com>
This patch disables all the logs from the 'native_app_glue' helper
library (used to implement native activities with the NDK), unless
you're building a debug build.
Change-Id: Iaad9d7c48a392ec119704074ab76e131d7806adb
Also the native-activity sample also has some very simple code showing
how to listen to the accelerometer.
Change-Id: I0629b8bc40cddd66233c1675cd5e8b42a9b722d8
Update to include newest headers and library, tweak glue code to
work better with state saving and add support for config changes.
Change-Id: I4d27bd4a0f542f217efaec86cf4f219aca020426
Make the "glue library" part of the NDK as an importable module,
this has several benefits:
- no need to distribute a binary here with no easy way to regenerate it
- no need to explicitely list -lthreaded_app in your LOCAL_LDLIBS
(this is handled automatically by the module import capability)
- allows easier native debugging of what's really happening.
Note that the header is renamed <threaded_native_app.h>
+ Modify the native-activity sample to use and import the new module
+ Start documenting usage in the header file. We probably need something
better, and will probably put it under development/ndk/docs/ at some
point.
After this patch, we should be able to get rid of the code under
framework/base/native/{include.glue}
Change-Id: I6e81d70a225a6ca006beabf6e8b42529e8f371b9