From 9c18f300a40496fba95cfea2fe06d02f71bb968a Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Thu, 6 Sep 2012 01:05:37 +0200 Subject: [PATCH] devshr: honor noattach --- sys/src/9/port/devshr.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/src/9/port/devshr.c b/sys/src/9/port/devshr.c index 70c477d53..35e73629b 100644 --- a/sys/src/9/port/devshr.c +++ b/sys/src/9/port/devshr.c @@ -458,6 +458,8 @@ shrcreate(Chan *c, char *name, int omode, ulong perm) cclose(c); return nc; case Qcroot: + if(up->pgrp->noattach) + error(Enoattach); if((perm & DMDIR) == 0 || openmode(omode) != OREAD) error(Eperm); if(strlen(name) >= sizeof(up->genbuf)) @@ -490,6 +492,8 @@ shrcreate(Chan *c, char *name, int omode, ulong perm) sch->shr = shr; break; case Qcshr: + if(up->pgrp->noattach) + error(Enoattach); if((perm & DMDIR) || openmode(omode) != OWRITE) error(Eperm); @@ -720,6 +724,8 @@ shrwrite(Chan *c, void *va, long n, vlong) int flags; }bogus; + if(up->pgrp->noattach) + error(Enoattach); sch = tosch(c); if(sch->level != Qcmpt) error(Egreg);