q = v;
rfork(RFNOTEG);
- buf = smprint("/proc/%d/ctl", getpid());
- fd = open(buf, OWRITE);
+ buf = smprint("/proc/%lud/ctl", (ulong)getpid());
+ fd = open(buf, OWRITE|OCEXEC);
free(buf);
for(;;){
f(r);
}
+ if(fd >= 0)
+ close(fd);
free(r);
free(q);
threadexits(nil);