diff options
author | Elliott Hughes <enh@google.com> | 2014-11-03 12:32:17 -0800 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2014-11-03 12:32:17 -0800 |
commit | 6a03abcfd23f31d1df06eb0059830e22621282bb (patch) | |
tree | 7a6a1e6ee2ece560d31580c662060bda3d2d004b /tests/stdio_test.cpp | |
parent | 38ff8822763a30d4c9033a38ec8b71fcd17aba87 (diff) | |
download | bionic-6a03abcfd23f31d1df06eb0059830e22621282bb.zip bionic-6a03abcfd23f31d1df06eb0059830e22621282bb.tar.gz bionic-6a03abcfd23f31d1df06eb0059830e22621282bb.tar.bz2 |
Ensure we initialize stdin/stdout/stderr's recursive mutexes.
Bug: 18208568
Change-Id: I9da16ce0f9375bc363d1d02be706d73fd3b1e150
Diffstat (limited to 'tests/stdio_test.cpp')
-rw-r--r-- | tests/stdio_test.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/stdio_test.cpp b/tests/stdio_test.cpp index 6a653b4..549792e 100644 --- a/tests/stdio_test.cpp +++ b/tests/stdio_test.cpp @@ -29,6 +29,23 @@ #include "TemporaryFile.h" +TEST(stdio, flockfile_18208568_stderr) { + // Check that we have a _recursive_ mutex for flockfile. + flockfile(stderr); + feof(stderr); // We don't care about the result, but this needs to take the lock. + funlockfile(stderr); +} + +TEST(stdio, flockfile_18208568_regular) { + // We never had a bug for streams other than stdin/stdout/stderr, but test anyway. + FILE* fp = fopen("/dev/null", "w"); + ASSERT_TRUE(fp != NULL); + flockfile(fp); + feof(fp); + funlockfile(fp); + fclose(fp); +} + TEST(stdio, tmpfile_fileno_fprintf_rewind_fgets) { FILE* fp = tmpfile(); ASSERT_TRUE(fp != NULL); |