[libc-commits] [PATCH] D149793: [libc][rpc] Avoid leaking port in Server.h
Jon Chesterfield via Phabricator via libc-commits
libc-commits at lists.llvm.org
Wed May 3 15:15:27 PDT 2023
JonChesterfield created this revision.
JonChesterfield added a reviewer: jhuber6.
Herald added subscribers: libc-commits, ecnelises, tschuett.
Herald added projects: libc-project, All.
JonChesterfield requested review of this revision.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D149793
Files:
libc/utils/gpu/loader/Server.h
Index: libc/utils/gpu/loader/Server.h
===================================================================
--- libc/utils/gpu/loader/Server.h
+++ libc/utils/gpu/loader/Server.h
@@ -28,6 +28,13 @@
if (!port)
return;
+ struct close {
+ using Port = decltype(port);
+ close(Port &port) : port(port) {}
+ ~close() { port->close(); }
+ Port &port;
+ } closer(port);
+
switch (port->get_opcode()) {
case __llvm_libc::rpc::Opcode::PRINT_TO_STDERR: {
uint64_t str_size;
@@ -57,6 +64,5 @@
port->recv([](__llvm_libc::rpc::Buffer *) { /* no-op */ });
return;
}
- port->close();
}
#endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D149793.519276.patch
Type: text/x-patch
Size: 626 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20230503/95348e44/attachment-0001.bin>
More information about the libc-commits
mailing list