Merge "Fix pthread_create error handling in ril."
diff --git a/libril/ril.cpp b/libril/ril.cpp
index da5bee9..0ac698e 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -3176,27 +3176,26 @@
 
 extern "C" void
 RIL_startEventLoop(void) {
-    int ret;
-    pthread_attr_t attr;
-
     /* spin up eventLoop thread and wait for it to get started */
     s_started = 0;
     pthread_mutex_lock(&s_startupMutex);
 
-    pthread_attr_init (&attr);
+    pthread_attr_t attr;
+    pthread_attr_init(&attr);
     pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
-    ret = pthread_create(&s_tid_dispatch, &attr, eventLoop, NULL);
+
+    int ret = pthread_create(&s_tid_dispatch, &attr, eventLoop, NULL);
+    if (ret < 0) {
+        RLOGE("Failed to create dispatch thread: %s", strerror(errno));
+        goto done;
+    }
 
     while (s_started == 0) {
         pthread_cond_wait(&s_startupCond, &s_startupMutex);
     }
 
+done:
     pthread_mutex_unlock(&s_startupMutex);
-
-    if (ret < 0) {
-        RLOGE("Failed to create dispatch thread errno:%d", errno);
-        return;
-    }
 }
 
 // Used for testing purpose only.