6
6
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
7
7
* Portions Copyright (c) 1994, Regents of the University of California
8
8
*
9
- * $PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.8 2004/03/27 23: 02:44 momjian Exp $
9
+ * $PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.9 2004/03/28 02:37:31 momjian Exp $
10
10
*
11
11
* This program tests to see if your standard libc functions use
12
12
* pthread_setspecific()/pthread_getspecific() to be thread-safe.
@@ -93,15 +93,13 @@ defines to your template/$port file before compiling this program.\n\n"
93
93
void func_call_1 (void ) {
94
94
void * p ;
95
95
96
- if (open ("/tmp/thread_test.1" , O_RDWR | O_CREAT , 0600 ) < 0 )
97
- {
98
- fprintf (stderr , "Could not create file in /tmp, exiting\n" );
99
- exit (1 );
100
- }
101
-
102
- if (open ("/tmp/thread_test.1" , O_RDWR | O_CREAT | O_EXCL , 0600 ) >= 0 )
96
+ unlink ("/tmp/thread_test.1" );
97
+ /* create, then try to fail on exclusive create open */
98
+ if (open ("/tmp/thread_test.1" , O_RDWR | O_CREAT , 0600 ) < 0 ||
99
+ open ("/tmp/thread_test.1" , O_RDWR | O_CREAT | O_EXCL , 0600 ) >= 0 )
103
100
{
104
- fprintf (stderr , "Could not generate failure for create file in /tmp, exiting\n" );
101
+ fprintf (stderr , "Could not create file in /tmp or\n" );
102
+ fprintf (stderr , "could not generate failure for create file in /tmp, exiting\n" );
105
103
exit (1 );
106
104
}
107
105
/* wait for other thread to set errno */
@@ -144,6 +142,7 @@ void func_call_2(void) {
144
142
void * p ;
145
143
146
144
unlink ("/tmp/thread_test.2" );
145
+ /* open non-existant file */
147
146
if (open ("/tmp/thread_test.2" , O_RDONLY , 0600 ) >= 0 )
148
147
{
149
148
fprintf (stderr , "Read-only open succeeded without create, exiting\n" );
@@ -159,6 +158,7 @@ void func_call_2(void) {
159
158
unlink ("/tmp/thread_test.A" );
160
159
exit (1 );
161
160
}
161
+ unlink ("/tmp/thread_test.2" );
162
162
163
163
strerror_p2 = strerror (EINVAL );
164
164
/*
0 commit comments