git: 9front

Download patch

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++)
--