Commit Diff


commit - 8b549a62142839c7e184939fe56850987dded578
commit + 1aa9c533e0778d9917cdb19f71e3bc7416e8d528
blob - 8a028aa4a227de952f8fcc00f2ad895e6974a98a
blob + 120e65145c4f10271b771db0d5e4def6ee848f8f
--- src/libthread/thread.c
+++ src/libthread/thread.c
@@ -344,9 +344,10 @@ threadqunlock(QLock *l, ulong pc)
 {
 	lock(&l->l);
 //print("qlock unlock %p @%#x by %p (owner %p)\n", l, pc, (*threadnow)(), l->owner);
-	if(l->owner != (*threadnow)()){
+	if(l->owner == 0){
 		fprint(2, "%s: qunlock pc=0x%lux owner=%p self=%p oops\n",
 			argv0, pc, l->owner, (*threadnow)());
+		abort();
 	}
 	if((l->owner = l->waiting.head) != nil){
 		delthread(&l->waiting, l->owner);