Release mutex locks on error conditions.
diff --git a/libril/ril.cpp b/libril/ril.cpp
index 31d5eb9..f6f09cd 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -1171,9 +1171,6 @@
return -1;
}
-
- // FIXME is blocking here ok? issue #550970
-
pthread_mutex_lock(&s_writeMutex);
header = htonl(dataSize);
@@ -1181,12 +1178,14 @@
ret = blockingWrite(fd, (void *)&header, sizeof(header));
if (ret < 0) {
+ pthread_mutex_unlock(&s_writeMutex);
return ret;
}
ret = blockingWrite(fd, data, dataSize);
if (ret < 0) {
+ pthread_mutex_unlock(&s_writeMutex);
return ret;
}