From: Russ Cox Date: Fri, 9 Oct 2009 23:45:20 +0000 (-0700) Subject: acid bug fix. X-Git-Tag: weekly.2009-11-06~358 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=fb1bcd47c6c172d93d2ed1f320baf49d96a88975;p=gostls13.git acid bug fix. lock printf output to avoid interlacing debug prints. R=r DELTA=10 (7 added, 0 deleted, 3 changed) OCL=35539 CL=35561 --- diff --git a/src/pkg/runtime/print.c b/src/pkg/runtime/print.c index c9929cd454..fb2881be55 100644 --- a/src/pkg/runtime/print.c +++ b/src/pkg/runtime/print.c @@ -4,6 +4,7 @@ #include "runtime.h" +static Lock debuglock; void dump(byte *p, int32 n) @@ -36,6 +37,8 @@ printf(int8 *s, ...) int8 *p, *lp; byte *arg, *narg; + lock(&debuglock); + lp = p = s; arg = (byte*)(&s+1); for(; *p; p++) { @@ -96,6 +99,8 @@ printf(int8 *s, ...) } if(p > lp) write(1, lp, p-lp); + + unlock(&debuglock); }