From 513d7329340609f656413017895b64fa17484dc5 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Tue, 3 Jul 2018 01:37:33 +0800 Subject: [PATCH] SIGPIPE is handled in main daemon --- su_daemon.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/su_daemon.c b/su_daemon.c index 4dd66e32e..48f98ff65 100644 --- a/su_daemon.c +++ b/su_daemon.c @@ -358,24 +358,10 @@ void su_daemon_receiver(int client, struct ucred *credential) { else code = -1; - /* Passing the return code back to the client: - * The client might be closed unexpectedly (e.g. swipe a root app out of recents) - * In that case, writing to the client (which doesn't exist) will result in SIGPIPE - * Here we simply just ignore the situation. - */ - struct sigaction act; - memset(&act, 0, sizeof(act)); - act.sa_handler = SIG_IGN; - sigaction(SIGPIPE, &act, NULL); - LOGD("su: return code: [%d]\n", code); write(client, &code, sizeof(code)); close(client); - // Restore default handler for SIGPIPE - act.sa_handler = SIG_DFL; - sigaction(SIGPIPE, &act, NULL); - return; }