summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Ni <yangni@google.com>2017-04-20 21:55:41 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-04-20 21:55:42 +0000
commit426ea082a75fa014b926a9fe4cad0a7451d43865 (patch)
tree13f6c6bd72c4cd2cdac9b1b1e39927d0b52fb881
parentadc46414b68614c95c3cfbfd0a9de38bfa27c2be (diff)
parent9ed983b04aa6262a186f17c247115bc8e0b4ecbb (diff)
downloadrs-426ea082a75fa014b926a9fe4cad0a7451d43865.tar.gz
Merge "Handle socket creation error in context init" into oc-dev
-rw-r--r--rsContext.cpp5
-rw-r--r--rsFifoSocket.cpp1
-rw-r--r--rsThreadIO.cpp5
-rw-r--r--rsThreadIO.h2
4 files changed, 7 insertions, 6 deletions
diff --git a/rsContext.cpp b/rsContext.cpp
index 99eb2592..aab065c7 100644
--- a/rsContext.cpp
+++ b/rsContext.cpp
@@ -489,7 +489,10 @@ Context * Context::createContextLite() {
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 5475f92a..af613806 100644
--- a/rsFifoSocket.cpp
+++ b/rsFifoSocket.cpp
@@ -36,7 +36,6 @@ FifoSocket::~FifoSocket() {
}
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 ceec54ad..e0418779 100644
--- a/rsThreadIO.cpp
+++ b/rsThreadIO.cpp
@@ -37,9 +37,8 @@ ThreadIO::ThreadIO() {
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 23c5d42c..cfae09db 100644
--- a/rsThreadIO.h
+++ b/rsThreadIO.h
@@ -31,7 +31,7 @@ public:
ThreadIO();
~ThreadIO();
- void init();
+ bool init();
void shutdown();
size_t getMaxInlineSize() {