M port/devproc.c => port/devproc.c +6 -1
@@ 506,7 506,11 @@ procargs(Proc *p, char *buf, int nbuf)
int n;
a = p->args;
- n = p->nargs;
+ if(p->setargs){
+ snprint(buf, nbuf, "%s [%s]", p->text, p->args);
+ return strlen(buf);
+ }
+ n = p->nargs;
for(j = 0; j < nbuf - 1; j += m){
if(n <= 0)
break;
@@ 880,6 884,7 @@ procwrite(Chan *c, void *va, long n, vlong off)
free(p->args);
p->nargs = m;
p->args = arg;
+ p->setargs = 1;
break;
case Qmem:
M port/proc.c => port/proc.c +1 -0
@@ 384,6 384,7 @@ newproc(void)
kstrdup(&p->text, "*notext");
kstrdup(&p->args, "");
p->nargs = 0;
+ p->setargs = 0;
memset(p->seg, 0, sizeof p->seg);
p->pid = incref(&pidalloc);
pidhash(p);