Improve error handling and fix minor bugs in bionic benchmarks.
Test: Unit tests.
Change-Id: I224ae4c7f195176eb8a87deddb2debcbf0f24ba3
diff --git a/benchmarks/stdio_benchmark.cpp b/benchmarks/stdio_benchmark.cpp
index a1ca60e..2ab7264 100644
--- a/benchmarks/stdio_benchmark.cpp
+++ b/benchmarks/stdio_benchmark.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <err.h>
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
@@ -68,7 +69,9 @@
while (state.KeepRunning()) {
FILE* fp = fopen("/dev/zero", "re");
if (no_locking) __fsetlocking(fp, FSETLOCKING_BYCALLER);
- if (fgets(buf, sizeof(buf), fp) == nullptr) abort();
+ if (fgets(buf, sizeof(buf), fp) == nullptr) {
+ errx(1, "ERROR: fgets of %zu bytes failed.", nbytes);
+ }
fclose(fp);
}
}