From: Hwankyu Jhun Date: Mon, 11 Sep 2023 02:17:36 +0000 (+0900) Subject: Set close on exec X-Git-Tag: accepted/tizen/7.0/unified/20230913.174308~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=adf42ba8ed463a7a53d1ae573da46c8498e600d8;p=platform%2Fcore%2Fappfw%2Frpc-port.git Set close on exec To avoid inheriting fd to the child process, this patch sets close on exec flag to fd. Change-Id: I3ab2255e8cd80ad50ffbf355e51f0acec1030d68 Signed-off-by: Hwankyu Jhun --- diff --git a/src/server-socket-internal.cc b/src/server-socket-internal.cc index 4f60c20..713e908 100644 --- a/src/server-socket-internal.cc +++ b/src/server-socket-internal.cc @@ -29,6 +29,7 @@ namespace rpc_port { namespace internal { ServerSocket::ServerSocket(int fd) : fd_(fd) { + SetCloseOnExec(); } ServerSocket::~ServerSocket() { @@ -67,6 +68,12 @@ int ServerSocket::Listen(int backlog) { return 0; } +void ServerSocket::SetCloseOnExec() { + int flags = fcntl(fd_, F_GETFL, 0); + fcntl(fd_, F_SETFL, flags | O_CLOEXEC); + _I("Close on exec"); +} + void ServerSocket::Close() { if (fd_ > -1) { close(fd_); diff --git a/src/server-socket-internal.hh b/src/server-socket-internal.hh index 47ca970..43e392a 100644 --- a/src/server-socket-internal.hh +++ b/src/server-socket-internal.hh @@ -32,6 +32,7 @@ class ServerSocket { int GetFd() const; int Listen(int backlog); void Close(); + void SetCloseOnExec(); private: int fd_;