libcamera: ipc_unixsocket: Fix file descriptor leak
The file descriptor created for the remote side of the socket is passed to the forked process, but never closed. Fix the leak. The fix can be tested by running the unixsocket_ipc unit test under valgrind with `valgrind --track-fds=yes ./test/ipc/unixsocket_ipc`. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
@@ -38,7 +38,7 @@ IPCPipeUnixSocket::IPCPipeUnixSocket(const char *ipaModulePath,
|
||||
}
|
||||
socket_->readyRead.connect(this, &IPCPipeUnixSocket::readyRead);
|
||||
args.push_back(std::to_string(fd.get()));
|
||||
fds.push_back(fd.release());
|
||||
fds.push_back(fd.get());
|
||||
|
||||
proc_ = std::make_unique<Process>();
|
||||
int ret = proc_->start(ipaProxyWorkerPath, args, fds);
|
||||
|
||||
Reference in New Issue
Block a user