summaryrefslogtreecommitdiff
path: root/src/test/test_spinlock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/test_spinlock.c')
-rw-r--r--src/test/test_spinlock.c160
1 files changed, 77 insertions, 83 deletions
diff --git a/src/test/test_spinlock.c b/src/test/test_spinlock.c
index e6f7dfe52..878ee8bab 100644
--- a/src/test/test_spinlock.c
+++ b/src/test/test_spinlock.c
@@ -8,8 +8,8 @@
#include <stdio.h>
#include <stdlib.h>
-//
-// Simple test for the spinlock implementation to see if it works properly..
+//
+// Simple test for the spinlock implementation to see if it works properly..
//
@@ -23,101 +23,95 @@ static SPIN_LOCK lock;
static int val = 0;
static volatile int32 done_threads = 0;
-static void *worker(void *p)
-{
- register int i;
-
- for (i = 0; i < PERINC; i++) {
- EnterSpinLock(&lock);
- EnterSpinLock(&lock);
-
- val++;
-
- LeaveSpinLock(&lock);
- LeaveSpinLock(&lock);
- }
-
- InterlockedIncrement(&done_threads);
-
- return NULL;
+static void *worker(void *p){
+ register int i;
+
+ for(i = 0; i < PERINC; i++){
+ EnterSpinLock(&lock);
+ EnterSpinLock(&lock);
+
+ val++;
+
+ LeaveSpinLock(&lock);
+ LeaveSpinLock(&lock);
+ }
+
+ InterlockedIncrement(&done_threads);
+
+ return NULL;
}//end: worker()
-int do_init(int argc, char **argv)
-{
- rAthread t[THRC];
- int j, i;
- int ok;
-
- ShowStatus("==========\n");
- ShowStatus("TEST: %u Runs, (%u Threads)\n", LOOPS, THRC);
- ShowStatus("This can take a while\n");
- ShowStatus("\n\n");
-
- ok =0;
- for (j = 0; j < LOOPS; j++) {
- val = 0;
- done_threads = 0;
-
- InitializeSpinLock(&lock);
-
-
- for (i =0; i < THRC; i++) {
- t[i] = rathread_createEx(worker, NULL, 1024*512, RAT_PRIO_NORMAL);
- }
-
-
- while (1) {
- if (InterlockedCompareExchange(&done_threads, THRC, THRC) == THRC)
- break;
-
- rathread_yield();
- }
-
- FinalizeSpinLock(&lock);
-
- // Everything fine?
- if (val != (THRC*PERINC)) {
- printf("FAILED! (Result: %u, Expected: %u)\n", val, (THRC*PERINC));
- } else {
- printf("OK! (Result: %u, Expected: %u)\n", val, (THRC*PERINC));
- ok++;
- }
-
- }
-
-
- if (ok != LOOPS) {
- ShowFatalError("Test failed.\n");
- exit(1);
- } else {
- ShowStatus("Test passed.\n");
- exit(0);
- }
-
-
- return 0;
+int do_init(int argc, char **argv){
+ rAthread t[THRC];
+ int j, i;
+ int ok;
+
+ ShowStatus("==========\n");
+ ShowStatus("TEST: %u Runs, (%u Threads)\n", LOOPS, THRC);
+ ShowStatus("This can take a while\n");
+ ShowStatus("\n\n");
+
+ ok =0;
+ for(j = 0; j < LOOPS; j++){
+ val = 0;
+ done_threads = 0;
+
+ InitializeSpinLock(&lock);
+
+
+ for(i =0; i < THRC; i++){
+ t[i] = rathread_createEx( worker, NULL, 1024*512, RAT_PRIO_NORMAL);
+ }
+
+
+ while(1){
+ if(InterlockedCompareExchange(&done_threads, THRC, THRC) == THRC)
+ break;
+
+ rathread_yield();
+ }
+
+ FinalizeSpinLock(&lock);
+
+ // Everything fine?
+ if(val != (THRC*PERINC) ){
+ printf("FAILED! (Result: %u, Expected: %u)\n", val, (THRC*PERINC) );
+ }else{
+ printf("OK! (Result: %u, Expected: %u)\n", val, (THRC*PERINC) );
+ ok++;
+ }
+
+ }
+
+
+ if(ok != LOOPS){
+ ShowFatalError("Test failed.\n");
+ exit(1);
+ }else{
+ ShowStatus("Test passed.\n");
+ exit(0);
+ }
+
+
+return 0;
}//end: do_init()
-void do_abort()
-{
+void do_abort(){
}//end: do_abort()
-void set_server_type()
-{
- SERVER_TYPE = ATHENA_SERVER_NONE;
+void set_server_type(){
+ SERVER_TYPE = ATHENA_SERVER_NONE;
}//end: set_server_type()
-void do_final()
-{
+void do_final(){
}//end: do_final()
-int parse_console(const char *command)
-{
- return 0;
+int parse_console(const char* command){
+ return 0;
}//end: parse_console