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, 83 insertions, 77 deletions
diff --git a/src/test/test_spinlock.c b/src/test/test_spinlock.c
index 878ee8bab..e6f7dfe52 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,95 +23,101 @@ 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