diff options
author | Bruce Momjian <bruce@momjian.us> | 2004-04-05 14:12:32 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2004-04-05 14:12:32 +0000 |
commit | a86c329f99bf9cccb98a80f6d01316fb5305a169 (patch) | |
tree | 1ddaba1223726f2a63b8343c0cc720b8452799b0 /src/tools/thread | |
parent | 49c8d08bc84951a30254b4c834cb8a4c6e266db7 (diff) | |
download | postgresql-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.c | 8 |
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"); |