diff options
Diffstat (limited to 'fs.c')
-rw-r--r-- | fs.c | 26 |
1 files changed, 24 insertions, 2 deletions
@@ -77,8 +77,9 @@ Memsubfont *memfont; 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 @@ Srv fs = { .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 @@ threadmain(int argc, char *argv[]) case 'D': chatty9p++; break; + case 'p': + doprof++; + break; case 's': srvname = EARGF(usage()); break; @@ -674,6 +695,7 @@ threadmain(int argc, char *argv[]) if(argc != 0) usage(); + confproc(); jefe = getuser(); if(memimageinit() != 0) |