M port/devpipe.c => port/devpipe.c +1 -0
@@ 78,6 78,7 @@ pipeattach(char *spec)
lock(&pipealloc);
if(pipealloc.free == 0){
unlock(&pipealloc);
+ close(c);
error(Enopipe);
}
p = pipealloc.free;
M port/pgrp.c => port/pgrp.c +3 -4
@@ 72,11 72,10 @@ pgrpnote(Pgrp *pg, char *a, long n, int flag)
unlock(&p->debug);
continue;
}
- if(waserror()){
- unlock(&p->debug);
- continue;
+ if(!waserror()){
+ postnote(p, 0, buf, flag);
+ poperror();
}
- postnote(p, 0, buf, flag);
unlock(&p->debug);
}
}
M power/main.c => power/main.c +1 -1
@@ 629,10 629,10 @@ confinit(void)
conf.nurp = 25;
conf.nqueue = 5 * conf.nstream;
conf.nblock = 10 * conf.nstream;
- conf.npipe = conf.nstream/2;
confread();
+ conf.npipe = conf.nstream/2; /* must be after confread */
if(conf.nmach > MAXMACH)
panic("confinit");
conf.copymode = 1; /* copy on reference */