summaryrefslogtreecommitdiffstats
path: root/sigchainlib/sigchain.h
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-05-22 18:31:50 -0700
committerAndreas Gampe <agampe@google.com>2015-05-31 16:59:11 -0700
commit8ee2145d65ed14b267ae4c6396f2333115611a97 (patch)
tree77c4ffa7f2b21e35e9e09bbce26306ca486f64e2 /sigchainlib/sigchain.h
parent93de952df65ca5033bda313712b68b6272b4975f (diff)
downloadart-8ee2145d65ed14b267ae4c6396f2333115611a97.zip
art-8ee2145d65ed14b267ae4c6396f2333115611a97.tar.gz
art-8ee2145d65ed14b267ae4c6396f2333115611a97.tar.bz2
ART: Add support for special handlers in sigchainlib
Add support for a special managed handler in sigchainlib that will be called as the first user handler. Use this support for native bridge v2. Extend test 115-native-bridge to test the functionality. Bug: 20217701 (cherry picked from commit 03c2cc89428914adf52229d6a3867eef6127911a) Change-Id: I78cc01fbdabe169154ff6b94c9f3ddb95b5c7448
Diffstat (limited to 'sigchainlib/sigchain.h')
-rw-r--r--sigchainlib/sigchain.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sigchainlib/sigchain.h b/sigchainlib/sigchain.h
index 79b76a7..01ccedf 100644
--- a/sigchainlib/sigchain.h
+++ b/sigchainlib/sigchain.h
@@ -27,6 +27,9 @@ extern "C" void ClaimSignalChain(int signal, struct sigaction* oldaction);
extern "C" void UnclaimSignalChain(int signal);
+typedef bool (*SpecialSignalHandlerFn)(int, siginfo_t*, void*);
+extern "C" void SetSpecialSignalHandlerFn(int signal, SpecialSignalHandlerFn fn);
+
extern "C" void InvokeUserSignalHandler(int sig, siginfo_t* info, void* context);
extern "C" void EnsureFrontOfChain(int signal, struct sigaction* expected_action);