10097.cc: Fix race condition.

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.

From-SVN: r111978
This commit is contained in:
Howard Hinnant 2006-03-12 10:34:36 +00:00 committed by Paolo Carlini
parent 163659ade1
commit 189cd5056d
4 changed files with 31 additions and 17 deletions

View file

@ -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.

View file

@ -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()

View file

@ -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()

View file

@ -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()