Use a pipe rather than a socketpair to collect debug information from
Treble HALs.
Bug: 79656374
Test: manually
Change-Id: I2c7a67c67bc8f99aff8efa9570acf82f474a8dc3
diff --git a/cmds/lshal/PipeRelay.cpp b/cmds/lshal/PipeRelay.cpp
index fc40749..3828bbf 100644
--- a/cmds/lshal/PipeRelay.cpp
+++ b/cmds/lshal/PipeRelay.cpp
@@ -16,7 +16,6 @@
#include "PipeRelay.h"
-#include <sys/socket.h>
#include <utils/Thread.h>
namespace android {
@@ -58,7 +57,7 @@
PipeRelay::PipeRelay(std::ostream &os)
: mInitCheck(NO_INIT) {
- int res = socketpair(AF_UNIX, SOCK_STREAM, 0 /* protocol */, mFds);
+ int res = pipe(mFds);
if (res < 0) {
mInitCheck = -errno;
@@ -77,20 +76,13 @@
}
PipeRelay::~PipeRelay() {
- if (mFds[1] >= 0) {
- shutdown(mFds[1], SHUT_WR);
- }
-
- if (mFds[0] >= 0) {
- shutdown(mFds[0], SHUT_RD);
- }
+ CloseFd(&mFds[1]);
if (mThread != NULL) {
mThread->join();
mThread.clear();
}
- CloseFd(&mFds[1]);
CloseFd(&mFds[0]);
}