提交 5473f283 编写于 作者: B Bruce Momjian

Properly call strerror() in thread test; add comments.

上级 e319ec4b
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册