diff options
author | marha <marha@users.sourceforge.net> | 2013-02-13 11:03:57 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-02-13 11:03:57 +0100 |
commit | 8fa17b13062c1e2acca542cc7a2ccb09aca874e8 (patch) | |
tree | 158a6239b0fdf2abf63fb7365b4cd4886c15f5b1 /pthreads/tests/once2.c | |
parent | 4a165ef2f762a4ce9155f2a3626692326bda616d (diff) | |
parent | b41f74438672dd682bc01ae818cb3da654f22c1e (diff) | |
download | vcxsrv-8fa17b13062c1e2acca542cc7a2ccb09aca874e8.tar.gz vcxsrv-8fa17b13062c1e2acca542cc7a2ccb09aca874e8.tar.bz2 vcxsrv-8fa17b13062c1e2acca542cc7a2ccb09aca874e8.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
Updated to latest CVS version of pthreads
Conflicts:
pthreads/Makefile
Diffstat (limited to 'pthreads/tests/once2.c')
-rw-r--r-- | pthreads/tests/once2.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/pthreads/tests/once2.c b/pthreads/tests/once2.c index 84e3f4bf6..ffd6bfe10 100644 --- a/pthreads/tests/once2.c +++ b/pthreads/tests/once2.c @@ -6,10 +6,11 @@ * * Pthreads-win32 - POSIX Threads Library for Win32 * Copyright(C) 1998 John E. Bossom - * Copyright(C) 1999,2005 Pthreads-win32 contributors - * - * Contact Email: rpj@callisto.canberra.edu.au - * + * Copyright(C) 1999,2012 Pthreads-win32 contributors + * + * Homepage1: http://sourceware.org/pthreads-win32/ + * Homepage2: http://sourceforge.net/projects/pthreads4w/ + * * The current list of contributors is contained * in the file CONTRIBUTORS included with the source * code distribution. The list can also be seen at the @@ -54,8 +55,8 @@ typedef struct { CRITICAL_SECTION cs; } sharedInt_t; -static sharedInt_t numOnce = {0, {0}}; -static sharedInt_t numThreads = {0, {0}}; +static sharedInt_t numOnce; +static sharedInt_t numThreads; void myfunc(void) @@ -83,6 +84,9 @@ main() pthread_t t[NUM_THREADS][NUM_ONCE]; int i, j; + memset(&numOnce, 0, sizeof(sharedInt_t)); + memset(&numThreads, 0, sizeof(sharedInt_t)); + InitializeCriticalSection(&numThreads.cs); InitializeCriticalSection(&numOnce.cs); @@ -91,7 +95,11 @@ main() once[j] = o; for (i = 0; i < NUM_THREADS; i++) - assert(pthread_create(&t[i][j], NULL, mythread, (void *)(size_t)j) == 0); + { + /* GCC build: create was failing with EAGAIN after 790 threads */ + while (0 != pthread_create(&t[i][j], NULL, mythread, (void *)(size_t)j)) + sched_yield(); + } } for (j = 0; j < NUM_ONCE; j++) |