diff --git a/libsysutils/src/SocketListener.cpp b/libsysutils/src/SocketListener.cpp index 168899c56e55..4d602a6aa76e 100644 --- a/libsysutils/src/SocketListener.cpp +++ b/libsysutils/src/SocketListener.cpp @@ -206,7 +206,7 @@ void SocketListener::runListener() { do { alen = sizeof(ss); - c = accept(mSock, addrp, &alen); + c = accept4(mSock, addrp, &alen, SOCK_CLOEXEC); SLOGV("%s got %d from accept", mSocketName, c); } while (c < 0 && errno == EINTR); if (c < 0) { @@ -214,7 +214,6 @@ 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);