Merge "Handle socket creation error in context init"
diff --git a/rsContext.cpp b/rsContext.cpp
index da4262f..3be600e 100644
--- a/rsContext.cpp
+++ b/rsContext.cpp
@@ -497,7 +497,10 @@
bool Context::initContext(Device *dev, const RsSurfaceConfig *sc) {
pthread_mutex_lock(&gInitMutex);
- mIO.init();
+ if (!mIO.init()) {
+ ALOGE("Failed initializing IO Fifo");
+ return false;
+ }
mIO.setTimeoutCallback(printWatchdogInfo, this, 2e9);
if (sc) {
diff --git a/rsFifoSocket.cpp b/rsFifoSocket.cpp
index 5475f92..af61380 100644
--- a/rsFifoSocket.cpp
+++ b/rsFifoSocket.cpp
@@ -36,7 +36,6 @@
}
bool FifoSocket::init(bool supportNonBlocking, bool supportReturnValues, size_t maxDataSize) {
- // TODO: (b/27870945) Handle socketpair errors.
int ret = socketpair(AF_UNIX, SOCK_STREAM, 0, sv);
return (ret == 0);
}
diff --git a/rsThreadIO.cpp b/rsThreadIO.cpp
index ceec54a..e041877 100644
--- a/rsThreadIO.cpp
+++ b/rsThreadIO.cpp
@@ -37,9 +37,8 @@
ThreadIO::~ThreadIO() {
}
-void ThreadIO::init() {
- mToClient.init();
- mToCore.init();
+bool ThreadIO::init() {
+ return mToClient.init() && mToCore.init();
}
void ThreadIO::shutdown() {
diff --git a/rsThreadIO.h b/rsThreadIO.h
index 23c5d42..cfae09d 100644
--- a/rsThreadIO.h
+++ b/rsThreadIO.h
@@ -31,7 +31,7 @@
ThreadIO();
~ThreadIO();
- void init();
+ bool init();
void shutdown();
size_t getMaxInlineSize() {