Make the SocketListener control pipe O_CLOEXEC. Children of processes that use SocketListener should not be able to stop the SocketListener. Test: builds, boots Test: atest libsysutils_tests Test: atest --test-mapping system/netd Change-Id: I64898d9966f62004468b8e8a43b59be4a81a8cc4
diff --git a/libsysutils/src/SocketListener.cpp b/libsysutils/src/SocketListener.cpp index ded5adb..9780606 100644 --- a/libsysutils/src/SocketListener.cpp +++ b/libsysutils/src/SocketListener.cpp
@@ -95,7 +95,7 @@ } else if (!mListen) mClients[mSock] = new SocketClient(mSock, false, mUseCmdNum); - if (pipe(mCtrlPipe)) { + if (pipe2(mCtrlPipe, O_CLOEXEC)) { SLOGE("pipe failed (%s)", strerror(errno)); return -1; }