ref: bdeff777c6172721a43877a6a8deb947b8174d4a
parent: 065359bd89b8d6ddd9ebdee732f37ec0ae992b59
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Mar 15 16:57:21 EDT 2026
gdbfs: spawn the gdb processes in the file-server proc's note group This prevents the gdbproc from getting killed when one hits [Del] in the same window. (Happens to interrupt cont()).
--- a/sys/src/cmd/gdbfs/main.c
+++ b/sys/src/cmd/gdbfs/main.c
@@ -250,7 +250,16 @@
}
}
+static int rfd = 0, wfd = 1;
+
+static void
+start(Srv*)
+{+ gdbinit(rfd, wfd);
+}
+
Srv fs = {+ .start = start,
.open = fsopen,
.read = fsread,
.write = fswrite,
@@ -262,7 +271,7 @@
void
threadmain(int argc, char *argv[])
{- int i, rfd, wfd;
+ int i;
File *dir;
Fhdr hdr;
char *textfile, *arch;
@@ -304,11 +313,9 @@
} else
sysfatal("-t or -m required");- rfd = 0;
- wfd = 1;
switch(argc){case 1:
- rfd = dial(argv[0], nil, nil, nil);
+ rfd = dial(netmkaddr(argv[0], "tcp", "1234"), nil, nil, nil);
if(rfd == -1)
sysfatal("dial %s: %r", argv[1]);wfd = rfd;
@@ -319,7 +326,6 @@
usage();
}
- gdbinit(rfd, wfd);
fs.tree = alloctree("gdbfs", "gdbfs", DMDIR|0555, nil);dir = createfile(fs.tree->root, procname, "gdbfs", DMDIR|0555, 0);
for(i = 0; i < nelem(tab); i++)
--
⑨