summaryrefslogtreecommitdiff
path: root/src/test/thread
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2011-08-22 09:04:48 -0400
committerBruce Momjian <bruce@momjian.us>2011-08-22 09:04:48 -0400
commit5473f283f501ff9f5e38e89d3a2e89f738a7e76f (patch)
treefb45bb4bdad0e60f8f1cff43b14f0178605cb448 /src/test/thread
parente319ec4b7378e047e6bb92bd1bb7ff7d515d64a3 (diff)
downloadpostgresql-5473f283f501ff9f5e38e89d3a2e89f738a7e76f.tar.gz
Properly call strerror() in thread test; add comments.
Diffstat (limited to 'src/test/thread')
-rw-r--r--src/test/thread/thread_test.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/test/thread/thread_test.c b/src/test/thread/thread_test.c
index 6fef840d52..736466c6b2 100644
--- a/src/test/thread/thread_test.c
+++ b/src/test/thread/thread_test.c
@@ -157,7 +157,7 @@ main(int argc, char *argv[])
if (rc != 0)
{
fprintf(stderr, "Failed to create thread 1: %s **\nexiting\n",
- strerror(rc));
+ strerror(errno));
exit(1);
}
rc = pthread_create(&thread2, NULL, (void *(*) (void *)) func_call_2, NULL);
@@ -285,6 +285,11 @@ func_call_1(void)
/* Set errno = EEXIST */
/* create, then try to fail on exclusive create open */
+ /*
+ * It would be great to check errno here but if errno is not thread-safe
+ * we might get a value from the other thread and mis-report the cause
+ * of the failure.
+ */
#ifdef WIN32
if ((h1 = CreateFile(TEMP_FILENAME_1, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 0, NULL)) ==
INVALID_HANDLE_VALUE)
@@ -299,7 +304,7 @@ func_call_1(void)
#ifdef WIN32
if (CreateFile(TEMP_FILENAME_1, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL)
- != INVALID_HANDLE_VALUE || GetLastError() != ERROR_FILE_EXISTS)
+ != INVALID_HANDLE_VALUE)
#else
if (open(TEMP_FILENAME_1, O_RDWR | O_CREAT | O_EXCL, 0600) >= 0)
#endif