better fixes. never call exits in a threaded program. Reference: /n/sources/patch/applied/venti3 Date: Fri Nov 30 00:57:45 CET 2007 Signed-off-by: rsc@swtch.com --- /sys/src/cmd/venti/srv/icachewrite.c Fri Nov 30 00:57:27 2007 +++ /sys/src/cmd/venti/srv/icachewrite.c Fri Nov 30 00:57:27 2007 @@ -251,8 +251,6 @@ as = icachestate(); if(as.arena==iwrite.as.arena && as.aa==iwrite.as.aa){ /* will not be able to do anything more than last flush - kick disk */ - if(0) - fprint(2, "icache: nothing to do - kick dcache\n"); trace(TraceProc, "icachewritecoord kick dcache"); kickdcache(); trace(TraceProc, "icachewritecoord kicked dcache"); --- /sys/src/cmd/venti/srv/venti.c Fri Nov 30 00:57:27 2007 +++ /sys/src/cmd/venti/srv/venti.c Fri Nov 30 00:57:27 2007 @@ -186,7 +186,8 @@ ventiserver(nil); else vtproc(ventiserver, nil); - exits(0); + + threadexits(nil); } static void