diff options
author | 2022-08-04 01:33:33 +0000 | |
---|---|---|
committer | 2022-08-16 21:58:41 +0000 | |
commit | 24ad36eec712d42f972b4b83311c86aa0b37e3b7 (patch) | |
tree | ebfe4315fa402676639ba574964aecfeea7ccd67 /libs/binder/OS.cpp | |
parent | a8fa78c5fdb652375440aa2b4b412e9e0bbc4c6d (diff) |
libbinder: build ParcelFileDescriptor on Trusty
Adds ParcelFileDescriptor.cpp to the Trusty build
which in turn compiles some extra related code from
Parcel.cpp. This code uses fcntl(...O_DUPFD_CLOEXEC...)
to duplicate file descriptors which is not available
on Trusty (or other OSes), so we abstract the relevant
calls to that function in a wrapper in OS.cpp.
Bug: 224644083
Test: m
Test: build on Trusty
Change-Id: I2e0ee517e7c7b55458a6ee6db977985aab4d7c58
Diffstat (limited to 'libs/binder/OS.cpp')
-rw-r--r-- | libs/binder/OS.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/binder/OS.cpp b/libs/binder/OS.cpp index 6eb72726f5..cc4a03ba67 100644 --- a/libs/binder/OS.cpp +++ b/libs/binder/OS.cpp @@ -48,4 +48,14 @@ status_t getRandomBytes(uint8_t* data, size_t size) { return OK; } +status_t dupFileDescriptor(int oldFd, int* newFd) { + int ret = fcntl(oldFd, F_DUPFD_CLOEXEC, 0); + if (ret < 0) { + return -errno; + } + + *newFd = ret; + return OK; +} + } // namespace android |