From a3c868879c7cd7f52b206246d9839b60cc3dbeb9 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Tue, 4 Sep 2018 11:05:08 -0700 Subject: [PATCH] libbase: add Fdopen that takes a unique_fd. Using fdopen with unique_fd correctly is more annoying than it should be, because fdopen doesn't close the file descriptor received upon failure, which means you have to something like the following: unique_fd ufd = ...; int fd = ufd.release(); FILE* file = fdopen(fd, "..."); if (!file) { close(fd); return; } Add an android::base::Fdopen that does that dance for you. Bug: http://b/113880863 Test: treehugger Change-Id: I6325acf1ff06484005c1053fe09672c5eeeecaa1 --- base/include/android-base/unique_fd.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/base/include/android-base/unique_fd.h b/base/include/android-base/unique_fd.h index c6936f137..71025adc2 100644 --- a/base/include/android-base/unique_fd.h +++ b/base/include/android-base/unique_fd.h @@ -22,6 +22,7 @@ #include #endif +#include #include #include @@ -199,6 +200,17 @@ inline bool Socketpair(int type, unique_fd_impl* left, unique_fd_impl