Merge "audiohal: Check for EINTR and retry when waiting for EventFlag"
diff --git a/media/libaudiohal/EffectHalHidl.cpp b/media/libaudiohal/EffectHalHidl.cpp
index db115ef..539558d 100644
--- a/media/libaudiohal/EffectHalHidl.cpp
+++ b/media/libaudiohal/EffectHalHidl.cpp
@@ -194,8 +194,8 @@
}
return analyzeResult(retval);
}
- if (ret == -EAGAIN) {
- // This normally retries no more than once.
+ if (ret == -EAGAIN || ret == -EINTR) {
+ // Spurious wakeup. This normally retries no more than once.
goto retry;
}
return ret;
diff --git a/media/libaudiohal/StreamHalHidl.cpp b/media/libaudiohal/StreamHalHidl.cpp
index 77ba716..5b06b73 100644
--- a/media/libaudiohal/StreamHalHidl.cpp
+++ b/media/libaudiohal/StreamHalHidl.cpp
@@ -360,8 +360,8 @@
}
return ret;
}
- if (ret == -EAGAIN) {
- // This normally retries no more than once.
+ if (ret == -EAGAIN || ret == -EINTR) {
+ // Spurious wakeup. This normally retries no more than once.
goto retry;
}
return ret;
@@ -620,8 +620,8 @@
}
return ret;
}
- if (ret == -EAGAIN) {
- // This normally retries no more than once.
+ if (ret == -EAGAIN || ret == -EINTR) {
+ // Spurious wakeup. This normally retries no more than once.
goto retry;
}
return ret;