summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-11-22 08:49:41 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2018-11-22 08:49:41 +0100
commit5a5d3e0414f733c69fb43399972a81d465c08555 (patch)
tree5e52e9ee1960328227ff3c0d5e7d84f8dd71e09d
parent1dcf853fc0439e7726d3a3f10678b1340b3592e5 (diff)
downloadplan9front-5a5d3e0414f733c69fb43399972a81d465c08555.tar.xz
upas/fs: allow msgincref() with mb->refs == 0
this can happen when the on the final sync when the mailbox is being freed: freembox -> mboxdecref -> syncmbox -> wridxfile -> pridx -> insurecache -> msgincref
-rw-r--r--sys/src/cmd/upas/fs/mbox.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/src/cmd/upas/fs/mbox.c b/sys/src/cmd/upas/fs/mbox.c
index 87e03d65f..044c4b091 100644
--- a/sys/src/cmd/upas/fs/mbox.c
+++ b/sys/src/cmd/upas/fs/mbox.c
@@ -1124,7 +1124,7 @@ flagmessages(int argc, char **argv)
void
msgincref(Mailbox *mb, Message *m)
{
- assert(mb->refs > 0);
+ assert(mb->refs >= 0);
for(;; m = m->whole){
assert(m->refs >= 0);
m->refs++;