commit b214663d3454a2f81b418dde4b764f03563c91fb from: rsc date: Fri Jan 09 00:04:55 2004 UTC linux diffs. commit - d0bc889a8aa8cd80ec5a048b5825c82bd34edefb commit + b214663d3454a2f81b418dde4b764f03563c91fb blob - c43ce797a7cf70932f07e59d547e60dd37d6b299 blob + b8d242c800c721acda452649feb52aab1292279d --- include/mux.h +++ include/mux.h @@ -22,7 +22,7 @@ struct Mux void *aux; /* for private use by client */ /* private */ - QLock lk; + QLock lk; /* must be first for muxinit */ QLock inlk; QLock outlk; Rendez tagrend; blob - bc63260249f41bc3b75fd6e1d41d3b3f92f62a69 blob + 2d5074ee1fc11046fffcef403f7d5e4dfb9ba495 --- src/libmux/mux.c +++ src/libmux/mux.c @@ -19,7 +19,9 @@ static void dequeue(Mux*, Muxrpc*); void muxinit(Mux *mux) { + memset(&mux->lk, 0, sizeof(Mux)-offsetof(Mux, lk)); mux->tagrend.l = &mux->lk; + mux->rpcfork.l = &mux->lk; mux->sleep.next = &mux->sleep; mux->sleep.prev = &mux->sleep; }