libcamera: ipc_unixsocket: Use UniqueFD for a file descriptor
IPCUnixSocket::create() creates two file descriptors. One of them is stored in IPCUnixSocket and the other is returned to a caller. This clarifies the ownership using UniqueFD. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> 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:
committed by
Laurent Pinchart
parent
edd70612e5
commit
9143668887
@@ -31,14 +31,14 @@ IPCPipeUnixSocket::IPCPipeUnixSocket(const char *ipaModulePath,
|
||||
args.push_back(ipaModulePath);
|
||||
|
||||
socket_ = std::make_unique<IPCUnixSocket>();
|
||||
int fd = socket_->create();
|
||||
if (fd < 0) {
|
||||
UniqueFD fd = socket_->create();
|
||||
if (!fd.isValid()) {
|
||||
LOG(IPCPipe, Error) << "Failed to create socket";
|
||||
return;
|
||||
}
|
||||
socket_->readyRead.connect(this, &IPCPipeUnixSocket::readyRead);
|
||||
args.push_back(std::to_string(fd));
|
||||
fds.push_back(fd);
|
||||
args.push_back(std::to_string(fd.get()));
|
||||
fds.push_back(fd.release());
|
||||
|
||||
proc_ = std::make_unique<Process>();
|
||||
int ret = proc_->start(ipaProxyWorkerPath, args, fds);
|
||||
|
||||
Reference in New Issue
Block a user