projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
include_next: port to autoconf 2.63
[gnulib.git]
/
tests
/
test-lock.c
diff --git
a/tests/test-lock.c
b/tests/test-lock.c
index
aaa4cd3
..
fd2ed26
100644
(file)
--- a/
tests/test-lock.c
+++ b/
tests/test-lock.c
@@
-1,5
+1,5
@@
/* Test of locking in multithreaded situations.
/* Test of locking in multithreaded situations.
- Copyright (C) 2005, 2008
, 2009, 2010
Free Software Foundation, Inc.
+ Copyright (C) 2005, 2008
-2014
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-18,7
+18,7
@@
#include <config.h>
#include <config.h>
-#if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WIN
32
_THREADS
+#if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WIN
DOWS
_THREADS
#if USE_POSIX_THREADS
# define TEST_POSIX_THREADS 1
#if USE_POSIX_THREADS
# define TEST_POSIX_THREADS 1
@@
-29,8
+29,8
@@
#if USE_PTH_THREADS
# define TEST_PTH_THREADS 1
#endif
#if USE_PTH_THREADS
# define TEST_PTH_THREADS 1
#endif
-#if USE_WIN
32
_THREADS
-# define TEST_WIN
32
_THREADS 1
+#if USE_WIN
DOWS
_THREADS
+# define TEST_WIN
DOWS
_THREADS 1
#endif
/* Whether to enable locking.
#endif
/* Whether to enable locking.
@@
-69,7
+69,7
@@
# undef USE_POSIX_THREADS
# undef USE_SOLARIS_THREADS
# undef USE_PTH_THREADS
# undef USE_POSIX_THREADS
# undef USE_SOLARIS_THREADS
# undef USE_PTH_THREADS
-# undef USE_WIN
32
_THREADS
+# undef USE_WIN
DOWS
_THREADS
#endif
#include "glthread/lock.h"
#endif
#include "glthread/lock.h"
@@
-83,8
+83,8
@@
# if TEST_PTH_THREADS
# define USE_PTH_THREADS 1
# endif
# if TEST_PTH_THREADS
# define USE_PTH_THREADS 1
# endif
-# if TEST_WIN
32
_THREADS
-# define USE_WIN
32
_THREADS 1
+# if TEST_WIN
DOWS
_THREADS
+# define USE_WIN
DOWS
_THREADS 1
# endif
#endif
# endif
#endif
@@
-110,7
+110,7
@@
static int account[ACCOUNT_COUNT];
static int
random_account (void)
{
static int
random_account (void)
{
- return ((unsigned int) rand() >> 3) % ACCOUNT_COUNT;
+ return ((unsigned int) rand
() >> 3) % ACCOUNT_COUNT;
}
static void
}
static void
@@
-143,30
+143,30
@@
lock_mutator_thread (void *arg)
{
int i1, i2, value;
{
int i1, i2, value;
- dbgprintf ("Mutator %p before lock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before lock\n", gl_thread_self
_pointer
());
gl_lock_lock (my_lock);
gl_lock_lock (my_lock);
- dbgprintf ("Mutator %p after lock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after lock\n", gl_thread_self
_pointer
());
i1 = random_account ();
i2 = random_account ();
i1 = random_account ();
i2 = random_account ();
- value = ((unsigned int) rand() >> 3) % 10;
+ value = ((unsigned int) rand
() >> 3) % 10;
account[i1] += value;
account[i2] -= value;
account[i1] += value;
account[i2] -= value;
- dbgprintf ("Mutator %p before unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before unlock\n", gl_thread_self
_pointer
());
gl_lock_unlock (my_lock);
gl_lock_unlock (my_lock);
- dbgprintf ("Mutator %p after unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after unlock\n", gl_thread_self
_pointer
());
- dbgprintf ("Mutator %p before check lock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before check lock\n", gl_thread_self
_pointer
());
gl_lock_lock (my_lock);
check_accounts ();
gl_lock_unlock (my_lock);
gl_lock_lock (my_lock);
check_accounts ();
gl_lock_unlock (my_lock);
- dbgprintf ("Mutator %p after check unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after check unlock\n", gl_thread_self
_pointer
());
yield ();
}
yield ();
}
- dbgprintf ("Mutator %p dying.\n", gl_thread_self ());
+ dbgprintf ("Mutator %p dying.\n", gl_thread_self
_pointer
());
return NULL;
}
return NULL;
}
@@
-177,16
+177,16
@@
lock_checker_thread (void *arg)
{
while (!lock_checker_done)
{
{
while (!lock_checker_done)
{
- dbgprintf ("Checker %p before check lock\n", gl_thread_self ());
+ dbgprintf ("Checker %p before check lock\n", gl_thread_self
_pointer
());
gl_lock_lock (my_lock);
check_accounts ();
gl_lock_unlock (my_lock);
gl_lock_lock (my_lock);
check_accounts ();
gl_lock_unlock (my_lock);
- dbgprintf ("Checker %p after check unlock\n", gl_thread_self ());
+ dbgprintf ("Checker %p after check unlock\n", gl_thread_self
_pointer
());
yield ();
}
yield ();
}
- dbgprintf ("Checker %p dying.\n", gl_thread_self ());
+ dbgprintf ("Checker %p dying.\n", gl_thread_self
_pointer
());
return NULL;
}
return NULL;
}
@@
-233,24
+233,24
@@
rwlock_mutator_thread (void *arg)
{
int i1, i2, value;
{
int i1, i2, value;
- dbgprintf ("Mutator %p before wrlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before wrlock\n", gl_thread_self
_pointer
());
gl_rwlock_wrlock (my_rwlock);
gl_rwlock_wrlock (my_rwlock);
- dbgprintf ("Mutator %p after wrlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after wrlock\n", gl_thread_self
_pointer
());
i1 = random_account ();
i2 = random_account ();
i1 = random_account ();
i2 = random_account ();
- value = ((unsigned int) rand() >> 3) % 10;
+ value = ((unsigned int) rand
() >> 3) % 10;
account[i1] += value;
account[i2] -= value;
account[i1] += value;
account[i2] -= value;
- dbgprintf ("Mutator %p before unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before unlock\n", gl_thread_self
_pointer
());
gl_rwlock_unlock (my_rwlock);
gl_rwlock_unlock (my_rwlock);
- dbgprintf ("Mutator %p after unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after unlock\n", gl_thread_self
_pointer
());
yield ();
}
yield ();
}
- dbgprintf ("Mutator %p dying.\n", gl_thread_self ());
+ dbgprintf ("Mutator %p dying.\n", gl_thread_self
_pointer
());
return NULL;
}
return NULL;
}
@@
-261,16
+261,16
@@
rwlock_checker_thread (void *arg)
{
while (!rwlock_checker_done)
{
{
while (!rwlock_checker_done)
{
- dbgprintf ("Checker %p before check rdlock\n", gl_thread_self ());
+ dbgprintf ("Checker %p before check rdlock\n", gl_thread_self
_pointer
());
gl_rwlock_rdlock (my_rwlock);
check_accounts ();
gl_rwlock_unlock (my_rwlock);
gl_rwlock_rdlock (my_rwlock);
check_accounts ();
gl_rwlock_unlock (my_rwlock);
- dbgprintf ("Checker %p after check unlock\n", gl_thread_self ());
+ dbgprintf ("Checker %p after check unlock\n", gl_thread_self
_pointer
());
yield ();
}
yield ();
}
- dbgprintf ("Checker %p dying.\n", gl_thread_self ());
+ dbgprintf ("Checker %p dying.\n", gl_thread_self
_pointer
());
return NULL;
}
return NULL;
}
@@
-315,23
+315,23
@@
recshuffle (void)
{
int i1, i2, value;
{
int i1, i2, value;
- dbgprintf ("Mutator %p before lock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before lock\n", gl_thread_self
_pointer
());
gl_recursive_lock_lock (my_reclock);
gl_recursive_lock_lock (my_reclock);
- dbgprintf ("Mutator %p after lock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after lock\n", gl_thread_self
_pointer
());
i1 = random_account ();
i2 = random_account ();
i1 = random_account ();
i2 = random_account ();
- value = ((unsigned int) rand() >> 3) % 10;
+ value = ((unsigned int) rand
() >> 3) % 10;
account[i1] += value;
account[i2] -= value;
/* Recursive with probability 0.5. */
account[i1] += value;
account[i2] -= value;
/* Recursive with probability 0.5. */
- if (((unsigned int) rand() >> 3) % 2)
+ if (((unsigned int) rand
() >> 3) % 2)
recshuffle ();
recshuffle ();
- dbgprintf ("Mutator %p before unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before unlock\n", gl_thread_self
_pointer
());
gl_recursive_lock_unlock (my_reclock);
gl_recursive_lock_unlock (my_reclock);
- dbgprintf ("Mutator %p after unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after unlock\n", gl_thread_self
_pointer
());
}
static void *
}
static void *
@@
-343,16
+343,16
@@
reclock_mutator_thread (void *arg)
{
recshuffle ();
{
recshuffle ();
- dbgprintf ("Mutator %p before check lock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p before check lock\n", gl_thread_self
_pointer
());
gl_recursive_lock_lock (my_reclock);
check_accounts ();
gl_recursive_lock_unlock (my_reclock);
gl_recursive_lock_lock (my_reclock);
check_accounts ();
gl_recursive_lock_unlock (my_reclock);
- dbgprintf ("Mutator %p after check unlock\n", gl_thread_self ());
+ dbgprintf ("Mutator %p after check unlock\n", gl_thread_self
_pointer
());
yield ();
}
yield ();
}
- dbgprintf ("Mutator %p dying.\n", gl_thread_self ());
+ dbgprintf ("Mutator %p dying.\n", gl_thread_self
_pointer
());
return NULL;
}
return NULL;
}
@@
-363,16
+363,16
@@
reclock_checker_thread (void *arg)
{
while (!reclock_checker_done)
{
{
while (!reclock_checker_done)
{
- dbgprintf ("Checker %p before check lock\n", gl_thread_self ());
+ dbgprintf ("Checker %p before check lock\n", gl_thread_self
_pointer
());
gl_recursive_lock_lock (my_reclock);
check_accounts ();
gl_recursive_lock_unlock (my_reclock);
gl_recursive_lock_lock (my_reclock);
check_accounts ();
gl_recursive_lock_unlock (my_reclock);
- dbgprintf ("Checker %p after check unlock\n", gl_thread_self ());
+ dbgprintf ("Checker %p after check unlock\n", gl_thread_self
_pointer
());
yield ();
}
yield ();
}
- dbgprintf ("Checker %p dying.\n", gl_thread_self ());
+ dbgprintf ("Checker %p dying.\n", gl_thread_self
_pointer
());
return NULL;
}
return NULL;
}
@@
-444,7
+444,7
@@
once_contender_thread (void *arg)
break;
dbgprintf ("Contender %p waiting for signal for round %d\n",
break;
dbgprintf ("Contender %p waiting for signal for round %d\n",
- gl_thread_self (), repeat);
+ gl_thread_self
_pointer
(), repeat);
#if ENABLE_LOCKING
/* Wait for the signal to go. */
gl_rwlock_rdlock (fire_signal[repeat]);
#if ENABLE_LOCKING
/* Wait for the signal to go. */
gl_rwlock_rdlock (fire_signal[repeat]);
@@
-456,7
+456,7
@@
once_contender_thread (void *arg)
yield ();
#endif
dbgprintf ("Contender %p got the signal for round %d\n",
yield ();
#endif
dbgprintf ("Contender %p got the signal for round %d\n",
- gl_thread_self (), repeat);
+ gl_thread_self
_pointer
(), repeat);
/* Contend for execution. */
gl_once (once_control, once_execute);
/* Contend for execution. */
gl_once (once_control, once_execute);
@@
-495,7
+495,7
@@
test_once (void)
for (repeat = 0; repeat <= REPEAT_COUNT; repeat++)
{
/* Wait until every thread is ready. */
for (repeat = 0; repeat <= REPEAT_COUNT; repeat++)
{
/* Wait until every thread is ready. */
- dbgprintf ("Main thread before synchonizing for round %d\n", repeat);
+ dbgprintf ("Main thread before synch
r
onizing for round %d\n", repeat);
for (;;)
{
int ready_count = 0;
for (;;)
{
int ready_count = 0;
@@
-509,7
+509,7
@@
test_once (void)
break;
yield ();
}
break;
yield ();
}
- dbgprintf ("Main thread after synchonizing for round %d\n", repeat);
+ dbgprintf ("Main thread after synch
r
onizing for round %d\n", repeat);
if (repeat > 0)
{
if (repeat > 0)
{