ref: f21e48971068263828017c62320859748d36842e
parent: aa54e2249a500e2aa1dc42433cb0d57a0e6e07c8
author: B. Wilson <x@wilsonb.com>
date: Tue Jul 15 12:07:19 EDT 2025
Add pid to ctl files
--- a/ridefs.c
+++ b/ridefs.c
@@ -98,6 +98,7 @@
static char *qrctl;
static long time0;
static uint nclients;
+static int pid;
static int debug;
void*
@@ -141,10 +142,11 @@
free(qrctl);
qrctl = smprint(
"version %d\n"
+ "pid %d\n"
"nclients %d\n"
"debug %d\n"
"defport %s\n",
- VERSION, nclients, debug, defport);
+ VERSION, pid, nclients, debug, defport);
return strlen(qrctl);
}
@@ -158,8 +160,9 @@
free(c->qctl);
c->qctl = smprint(
"%d\n"
- "connect %s\n",
- client, c->addr);
+ "connect %s\n"
+ "pid %d\n",
+ client, c->addr, c->ev.pid);
return strlen(c->qctl);
}
@@ -587,7 +590,7 @@
static void
fsend(Srv*){
- postnote(PNGROUP, getpid(), "shutdown");
+ postnote(PNGROUP, pid, "shutdown");
exits(nil);
}
@@ -595,6 +598,11 @@
fsattach(Req *r){
Rfid *f;
+ user = getuser();
+ time0 = time(0);
+ pid = getpid();
+ genqrctl();
+
f = ecalloc(sizeof(*f));
f->kind = Qroot;
f->client = -1; /* no client */
@@ -612,7 +620,6 @@
Rfid *f;
Client *c;
char *s;
- int ppid;
f = r->fid->aux;
c = clientref(f->client);
@@ -630,7 +637,6 @@
r->fid->qid = r->ofcall.qid;
break;
case Qtext:
- ppid = getpid();
switch(f->pid = rfork(RFPROC|RFNOWAIT|RFMEM)){
case 0:
f->l = &c->qtext;
@@ -642,7 +648,7 @@
pipe(&c->ev.in);
switch(c->ev.pid = rfork(RFPROC|RFNOWAIT|RFMEM)){
case 0:
- s = smprint("/tmp/ride.%d.%d", ppid, f->client);
+ s = smprint("/tmp/ride.%d.%d", pid, f->client);
c->qtext.fd = create(s, ORDWR|ORCLOSE, DMREAD|DMAPPEND);
free(s);
handlemsgs(c->tdata.fd, &c->ev, &c->qtext);
@@ -651,6 +657,7 @@
default: break;
}
}
+ genqctl(f->client);
done:
wunlock(f->l);
@@ -871,15 +878,14 @@
void
usage(void){
- fprintf(stderr, "usage: %s [-Dd] [-m mtpt] [-s service]\n", argv0);
+ fprintf(stderr, "usage: %s [-Dd] [-m mtpt] [-s service] [-p defport] -n [nclients]\n", argv0);
}
void
main(int argc, char **argv){
- user = getuser();
+ service = nil;
mtpt = "/mnt/ride";
defport = "4502";
- time0 = time(0);
nclients = 256;
ARGBEGIN{
@@ -886,27 +892,14 @@
case 'D': chatty9p++; break;
case 'd': debug++; break;
case 'm': mtpt = EARGF(usage()); break;
+ case 'n': nclients = atoi(EARGF(usage())); break;
case 's': service = EARGF(usage()); break;
+ case 'p': defport = EARGF(usage()); break;
default: usage(); return;
}ARGEND
cpool = ecalloc(nclients*sizeof(*cpool));
- genqrctl();
-
JSONfmtinstall();
-
- if(debug)
- fprintf(stderr,
- "ridefs:\n"
- "\tchatty9p = %i\n"
- "\tdebug = %i\n"
- "\tmtpt = %s\n"
- "\tservice = %s\n"
- "\tdefport = %s\n"
- "\tfs = %p\n"
- "\tcpool = %p\n",
- chatty9p, debug, mtpt, service,
- defport, &fs, cpool);
rfork(RFNOTEG);
postmountsrv(&fs, service, mtpt, MREPL);
--
⑨