Index: generic/src/synch/rwlock.c
===================================================================
--- generic/src/synch/rwlock.c	(revision 2d93f1f9242c39f6e8a125f6fc3f2297727f4f04)
+++ generic/src/synch/rwlock.c	(revision 839470fe57530d3817745bc3323d249dae216918)
@@ -27,7 +27,8 @@
  */
 
-
-/*
- * Reader/Writer locks
+/** Reader/Writer locks
+ *
+ * A reader/writer lock can be held by multiple readers at a time.
+ * Or it can be exclusively held by a sole writer at a time.
  */
 
@@ -76,5 +77,5 @@
  */
 void rwlock_initialize(rwlock_t *rwl) {
-	spinlock_initialize(&rwl->lock, "rwlock");
+	spinlock_initialize(&rwl->lock, "rwlock_t");
 	mutex_initialize(&rwl->exclusive);
 	rwl->readers_in = 0;
@@ -219,8 +220,8 @@
 				break;
 			case ESYNCH_OK_ATOMIC:
-				panic("_mutex_lock_timeout()==ESYNCH_OK_ATOMIC");
+				panic("_mutex_lock_timeout()==ESYNCH_OK_ATOMIC\n");
 				break;
 			dafault:
-				panic("invalid ESYNCH");
+				panic("invalid ESYNCH\n");
 				break;
 		}
@@ -284,5 +285,5 @@
 
 
-/** Direct handoff
+/** Direct handoff of reader/writer lock ownership.
  *
  * Direct handoff of reader/writer lock ownership
@@ -307,5 +308,5 @@
 	rwlock_type_t type = RWLOCK_NONE;
 	thread_t *t = NULL;
-	int one_more = 1;
+	bool one_more = true;
 	
 	spinlock_lock(&rwl->exclusive.sem.wq.lock);
@@ -353,5 +354,5 @@
 				spinlock_lock(&t->lock);
 				if (t->rwlock_holder_type != RWLOCK_READER)
-					one_more = 0;
+					one_more = false;
 				spinlock_unlock(&t->lock);	
 			}
Index: generic/src/synch/spinlock.c
===================================================================
--- generic/src/synch/spinlock.c	(revision 2d93f1f9242c39f6e8a125f6fc3f2297727f4f04)
+++ generic/src/synch/spinlock.c	(revision 839470fe57530d3817745bc3323d249dae216918)
@@ -63,7 +63,8 @@
 void spinlock_lock(spinlock_t *sl)
 {
-	int i = 0;
+	count_t i = 0;
 	__address caller = ((__address *) &sl)[-1];
 	char *symbol;
+	bool deadlock_reported = false;
 
 	preemption_disable();
@@ -77,6 +78,10 @@
 			printf("\n");
 			i = 0;
+			deadlock_reported = true;
 		}
 	}
+
+	if (deadlock_reported)
+		printf("cpu%d: not deadlocked\n", CPU->id);
 
 	/*
Index: generic/src/synch/waitq.c
===================================================================
--- generic/src/synch/waitq.c	(revision 2d93f1f9242c39f6e8a125f6fc3f2297727f4f04)
+++ generic/src/synch/waitq.c	(revision 839470fe57530d3817745bc3323d249dae216918)
@@ -34,4 +34,5 @@
 #include <arch/asm.h>
 #include <arch/types.h>
+#include <typedefs.h>
 #include <time/timeout.h>
 #include <arch.h>
@@ -68,5 +69,5 @@
 	thread_t *t = (thread_t *) data;
 	waitq_t *wq;
-	int do_wakeup = 0;
+	bool do_wakeup = false;
 
 	spinlock_lock(&threads_lock);
@@ -76,13 +77,13 @@
 grab_locks:
 	spinlock_lock(&t->lock);
-	if (wq = t->sleep_queue) {
+	if (wq = t->sleep_queue) {		/* assignment */
 		if (!spinlock_trylock(&wq->lock)) {
 			spinlock_unlock(&t->lock);
-			goto grab_locks; /* avoid deadlock */
+			goto grab_locks;	/* avoid deadlock */
 		}
 
 		list_remove(&t->wq_link);
 		t->saved_context = t->sleep_timeout_context;
-		do_wakeup = 1;
+		do_wakeup = true;
 		
 		spinlock_unlock(&wq->lock);
@@ -90,8 +91,9 @@
 	}
 	
-	t->timeout_pending = 0;
+	t->timeout_pending = false;
 	spinlock_unlock(&t->lock);
 	
-	if (do_wakeup) thread_ready(t);
+	if (do_wakeup)
+		thread_ready(t);
 
 out:
@@ -194,5 +196,5 @@
 			return ESYNCH_TIMEOUT;
 		}
-		THREAD->timeout_pending = 1;
+		THREAD->timeout_pending = true;
 		timeout_register(&THREAD->sleep_timeout, (__u64) usec, waitq_interrupted_sleep, THREAD);
 	}
@@ -228,5 +230,5 @@
  *        will be woken up and missed count will be zeroed.
  */
-void waitq_wakeup(waitq_t *wq, int all)
+void waitq_wakeup(waitq_t *wq, bool all)
 {
 	ipl_t ipl;
@@ -251,5 +253,5 @@
  *        will be woken up and missed count will be zeroed.
  */
-void _waitq_wakeup_unsafe(waitq_t *wq, int all)
+void _waitq_wakeup_unsafe(waitq_t *wq, bool all)
 {
 	thread_t *t;
@@ -258,5 +260,6 @@
 	if (list_empty(&wq->head)) {
 		wq->missed_wakeups++;
-		if (all) wq->missed_wakeups = 0;
+		if (all)
+			wq->missed_wakeups = 0;
 		return;
 	}
@@ -267,5 +270,5 @@
 	spinlock_lock(&t->lock);
 	if (t->timeout_pending && timeout_unregister(&t->sleep_timeout))
-		t->timeout_pending = 0;
+		t->timeout_pending = false;
 	t->sleep_queue = NULL;
 	spinlock_unlock(&t->lock);
@@ -273,4 +276,5 @@
 	thread_ready(t);
 
-	if (all) goto loop;
-}
+	if (all)
+		goto loop;
+}
