Close Qlisten FDs
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 9 Oct 2015 13:34:33 +0000 (09:34 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Oct 2015 17:35:24 +0000 (13:35 -0400)
The original ipclose() wasn't built to close Qlistens, which can now be
opened via an O_PATH open.  Prior to O_PATH, if you did an open on
Qlisten, the chan you got back was a Qctl, so we did not need a special
case in ipclose().

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/net/devip.c

index 92d89f8..5eac79b 100644 (file)
@@ -689,6 +689,7 @@ static void ipclose(struct chan *c)
                case Qdata:
                case Qctl:
                case Qerr:
+               case Qlisten:
                        if (c->flag & COPEN)
                                closeconv(f->p[PROTO(c->qid)]->conv[CONV(c->qid)]);
                        break;