Fixes a race in console.c
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 27 Jul 2009 00:28:01 +0000 (17:28 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 27 Jul 2009 03:01:09 +0000 (20:01 -0700)
commitf1967616f09f25371f81c5e354309e4598643427
treeabd085499fcf0a3d591e601a97f01d833fe925e5
parent502c4ee6a8fade6a1e8627b9c8bc66c37f8c5bcd
Fixes a race in console.c

Putting a character now has it's own lock, since the printf-family is not currently
the only way to get to cons_putc() (reading a key, for example).  This also
means that now there is one less weird race where serial out will get something
different than the console (could have happened before).

Note that this bug was noticed by Ivy (deputy), which detected an overflow of
crt_buf[crt_pos++], which is usually caused by unhandled concurrency in console.c.
kern/src/console.c