ref: 06bd90dbe5d93aa556920c4ab868edc2e74f6edb
parent: deb07b6357fbdc87e28c35420777a0a46100a630
	author: cinap_lenrek <cinap_lenrek@felloff.net>
	date: Fri Jan  5 02:02:25 EST 2024
	
telco: fix rfork() race for pid
--- a/sys/src/cmd/telco/telco.c
+++ b/sys/src/cmd/telco/telco.c
@@ -72,7 +72,6 @@
char rbuf[Nrbuf];
char *rp;
char *wp;
- long pid;
};
enum
@@ -1159,7 +1158,7 @@
int n;
char *p;
char file[256];
- int background;
+ int background, pid;
background = 0;
d->ctl = d->data = -1;
@@ -1178,12 +1177,13 @@
 		if(!background){background = 1;
-			switch(d->pid = rfork(RFPROC|RFMEM)){+			switch(pid = rfork(RFPROC|RFMEM)){case -1:
 				error("out of processes");case 0:
break;
default:
+ d->monitoring = pid;
return;
}
}
--
⑨