shithub: renderfs

Download patch

ref: 53dcc34e34cca4453017bae72c0944f2fe1c93fb
parent: 8551f75ceaafd6678d8e489abfa82f5b414ef42a
author: rodri <rgl@antares-labs.eu>
date: Fri Apr 5 11:00:57 EDT 2024

add profile flag.

--- a/fs.c
+++ b/fs.c
@@ -77,8 +77,9 @@
 Renderer *renderer;
 Client *clients;
 ulong nclients;
+int doprof;
 
-static LightSource light = {{0,100,100,1}, {1,1,1,1}, LIGHT_POINT};
+LightSource light = {{0,100,100,1}, {1,1,1,1}, LIGHT_POINT};
 
 static Client *getclient(ulong);
 
@@ -644,10 +645,27 @@
 	.end		= fsending,
 };
 
+static void
+confproc(void)
+{
+	char buf[64];
+	int fd;
+
+	snprint(buf, sizeof buf, "/proc/%d/ctl", getpid());
+	fd = open(buf, OWRITE);
+	if(fd < 0)
+		sysfatal("open: %r");
+
+	if(doprof)
+		fprint(fd, "profile\n");
+
+	close(fd);
+}
+
 void
 usage(void)
 {
-	fprint(2, "usage: %s [-D] [-s srvname] [-m mtpt]\n", argv0);
+	fprint(2, "usage: %s [-Dp] [-s srvname] [-m mtpt]\n", argv0);
 	exits("usage");
 }
 
@@ -663,6 +681,9 @@
 	case 'D':
 		chatty9p++;
 		break;
+	case 'p':
+		doprof++;
+		break;
 	case 's':
 		srvname = EARGF(usage());
 		break;
@@ -674,6 +695,7 @@
 	if(argc != 0)
 		usage();
 
+	confproc();
 	jefe = getuser();
 
 	if(memimageinit() != 0)