diff --git a/libsysutils/src/SocketListener.cpp b/libsysutils/src/SocketListener.cpp index 527a6a0a3..3011ed7a8 100644 --- a/libsysutils/src/SocketListener.cpp +++ b/libsysutils/src/SocketListener.cpp @@ -86,6 +86,7 @@ int SocketListener::startListener(int backlog) { return -1; } SLOGV("got mSock = %d for %s", mSock, mSocketName); + fcntl(mSock, F_SETFD, FD_CLOEXEC); } if (mListen && listen(mSock, backlog) < 0) { @@ -212,6 +213,7 @@ void SocketListener::runListener() { sleep(1); continue; } + fcntl(c, F_SETFD, FD_CLOEXEC); pthread_mutex_lock(&mClientsLock); mClients->push_back(new SocketClient(c, true, mUseCmdNum)); pthread_mutex_unlock(&mClientsLock);