From 354363fb354ac0da1e9a6edd0541ab378242090d Mon Sep 17 00:00:00 2001 From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Sun, 12 Mar 2006 10:34:36 +0000 Subject: [PATCH] 2006-03-12 Howard Hinnant <hhinnant@apple.com> * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Fix race condition. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111978 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 7 +++++++ .../27_io/basic_filebuf/underflow/char/10097.cc | 13 ++++++++----- .../testsuite/27_io/objects/char/9661-1.cc | 14 ++++++++------ .../testsuite/27_io/objects/wchar_t/9661-1.cc | 14 ++++++++------ 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 218b2257b644..d29909ad00fd 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2006-03-12 Howard Hinnant <hhinnant@apple.com> + + * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: + Fix race condition. + * testsuite/27_io/objects/char/9661-1.cc: Likewise. + * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. + 2006-03-10 Paolo Carlini <pcarlini@suse.de> * include/tr1/cmath: Add atan2 and pow bits; add using declarations. diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc index 33c72306990c..345a6642556c 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc @@ -3,7 +3,8 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -61,7 +62,7 @@ void test16() VERIFY( false ); } - semaphore s1; + semaphore s1, s2; int fval = fork(); if (fval == -1) { @@ -72,11 +73,12 @@ void test16() { filebuf fbout; fbout.open(name, ios_base::in|ios_base::out); - VERIFY ( fbout.is_open() ); + VERIFY( fbout.is_open() ); fbout.sputn("0123456789", 10); fbout.pubsync(); - s1.wait (); + s1.wait(); fbout.close(); + s2.signal(); exit(0); } @@ -97,7 +99,8 @@ void test16() } fb.close(); - s1.signal (); + s1.signal(); + s2.wait(); } int main() diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc index b6b8b3b478c8..6497f62a03a4 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc @@ -3,7 +3,7 @@ // 2003-04-30 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -57,14 +57,15 @@ void test01() VERIFY (file != NULL); fputs("Whatever\n", file); fflush(file); - s1.signal (); - s2.wait (); + s1.signal(); + s2.wait(); fclose(file); + s1.signal(); exit(0); } - + freopen(name, "r", stdin); - s1.wait (); + s1.wait(); int c1 = fgetc(stdin); VERIFY( c1 != EOF ); @@ -82,7 +83,8 @@ void test01() int c5 = cin.rdbuf()->sgetc(); VERIFY( c5 != EOF ); VERIFY( c5 == c4 ); - s2.signal (); + s2.signal(); + s1.wait(); } int main() diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc index 130af0164be2..5b3c231e2e5f 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc @@ -3,7 +3,7 @@ // 2003-04-30 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2005 Free Software Foundation, Inc. +// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -56,14 +56,15 @@ void test01() FILE* file = fopen(name, "w"); fputs("Whatever\n", file); fflush(file); - s1.signal (); - s2.wait (); + s1.signal(); + s2.wait(); fclose(file); + s1.signal(); exit(0); } - + freopen(name, "r", stdin); - s1.wait (); + s1.wait(); wint_t c1 = fgetwc(stdin); VERIFY( c1 != WEOF ); @@ -81,7 +82,8 @@ void test01() wint_t c5 = wcin.rdbuf()->sgetc(); VERIFY( c5 != WEOF ); VERIFY( c5 == c4 ); - s2.signal (); + s2.signal(); + s1.wait(); } int main() -- GitLab