summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorrpj <rpj>2007-01-05 01:19:56 +0000
committerrpj <rpj>2007-01-05 01:19:56 +0000
commiteeef426b8399ad39dfc759352a6e7b0348a047d1 (patch)
tree09565a10b3132311847c8fb4575313f9d645d476 /tests
parenta7ed60cf396fcb8b0670e097dda24b1b0ec2e904 (diff)
Added more Win64 support
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog5
-rw-r--r--tests/context1.c6
-rw-r--r--tests/once3.c11
3 files changed, 11 insertions, 11 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 6b2c742..30f6ccb 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-04 Ross Johnson <Ross dot Johnson at homemail dot com dot au>
+
+ * context1.c: Include context.h from library sources and remove
+ x86 dependence in main().
+
2005-06-12 Ross Johnson <rpj@callisto.canberra.edu.au>
* stress1.c (millisecondsFromNow): Remove limit 0 <= millisecs < 1000;
diff --git a/tests/context1.c b/tests/context1.c
index 090df9c..e63dbec 100644
--- a/tests/context1.c
+++ b/tests/context1.c
@@ -75,6 +75,7 @@
#include "test.h"
#include "../implement.h"
+#include "../context.h"
static int washere = 0;
@@ -122,10 +123,7 @@ main()
context.ContextFlags = CONTEXT_CONTROL;
GetThreadContext(hThread, &context);
- /*
- *_x86 only!!!
- */
- context.Eip = (DWORD) anotherEnding;
+ PTW32_PROGCTR (context) = (DWORD_PTR) anotherEnding;
SetThreadContext(hThread, &context);
ResumeThread(hThread);
}
diff --git a/tests/once3.c b/tests/once3.c
index 981bbf7..51d2daa 100644
--- a/tests/once3.c
+++ b/tests/once3.c
@@ -34,7 +34,7 @@
* --------------------------------------------------------------------------
*
* Create several pthread_once objects and channel several threads
- * through each. Make the init_routine cancelable and cancel them with
+ * through each. Make the init_routine cancelable and cancel them
* waiters waiting.
*
* Depends on API functions:
@@ -45,8 +45,6 @@
* pthread_once()
*/
-#define ASSERT_TRACE
-
#include "test.h"
#define NUM_THREADS 100 /* Targeting each once control */
@@ -68,7 +66,6 @@ myfunc(void)
{
EnterCriticalSection(&numOnce.cs);
numOnce.i++;
- assert(numOnce.i > 0);
LeaveCriticalSection(&numOnce.cs);
/* Simulate slow once routine so that following threads pile up behind it */
Sleep(10);
@@ -81,11 +78,11 @@ mythread(void * arg)
{
/*
* Cancel every thread. These threads are deferred cancelable only, so
- * only the thread performing the once routine (my_func) will see it (there are
+ * only the thread performing the init_routine will see it (there are
* no other cancelation points here). The result will be that every thread
- * eventually cancels only when it becomes the new once thread.
+ * eventually cancels only when it becomes the new initter.
*/
- assert(pthread_cancel(pthread_self()) == 0);
+ pthread_cancel(pthread_self());
assert(pthread_once(&once[(int) arg], myfunc) == 0);
EnterCriticalSection(&numThreads.cs);
numThreads.i++;