aboutsummaryrefslogtreecommitdiff
path: root/src/tools/thread
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2004-04-05 14:12:32 +0000
committerBruce Momjian <bruce@momjian.us>2004-04-05 14:12:32 +0000
commita86c329f99bf9cccb98a80f6d01316fb5305a169 (patch)
tree1ddaba1223726f2a63b8343c0cc720b8452799b0 /src/tools/thread
parent49c8d08bc84951a30254b4c834cb8a4c6e266db7 (diff)
downloadpostgresql-a86c329f99bf9cccb98a80f6d01316fb5305a169.tar.gz
postgresql-a86c329f99bf9cccb98a80f6d01316fb5305a169.zip
Change getpid() while loop to use sched_yield(), greatly speeds up test.
sched_yield is a requirement for the test but not for our PostgreSQL code, so if it causes a portability problem, we will remove it.
Diffstat (limited to 'src/tools/thread')
-rw-r--r--src/tools/thread/thread_test.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/tools/thread/thread_test.c b/src/tools/thread/thread_test.c
index d7ea309d243..903462755f1 100644
--- a/src/tools/thread/thread_test.c
+++ b/src/tools/thread/thread_test.c
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.13 2004/04/05 05:43:06 momjian Exp $
+ * $PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.14 2004/04/05 14:12:32 momjian Exp $
*
* This program tests to see if your standard libc functions use
* pthread_setspecific()/pthread_getspecific() to be thread-safe.
@@ -83,7 +83,7 @@ defines to your template/$port file before compiling this program.\n\n"
pthread_create(&thread2, NULL, (void * (*)(void *)) func_call_2, NULL);
while (thread1_done == 0 || thread2_done == 0)
- getpid(); /* force system call */
+ sched_yield(); /* force system call */
printf("Add this to your template/$port file:\n\n");
@@ -129,7 +129,7 @@ void func_call_1(void) {
*/
errno1_set = 1;
while (errno2_set == 0)
- getpid(); /* force system call */
+ sched_yield(); /* force system call */
if (errno != EEXIST)
{
fprintf(stderr, "errno not thread-safe; exiting\n");
@@ -184,7 +184,7 @@ void func_call_2(void) {
*/
errno2_set = 1;
while (errno1_set == 0)
- getpid(); /* force system call */
+ sched_yield(); /* force system call */
if (errno != ENOENT)
{
fprintf(stderr, "errno not thread-safe; exiting\n");