summaryrefslogtreecommitdiff
path: root/sys/src/libc
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-09-26 14:56:23 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2018-09-26 14:56:23 +0200
commit19166f2cf32725b1907c8032ae224282a1fa3f8f (patch)
treec71cb6a8746be129c1241e3fc067c9325b95f56e /sys/src/libc
parent311e3b51c6b1bde2f58968453de56a5ca2a6dbb4 (diff)
libc: add procsetname()
Diffstat (limited to 'sys/src/libc')
-rw-r--r--sys/src/libc/9sys/mkfile1
-rw-r--r--sys/src/libc/9sys/procsetname.c19
2 files changed, 20 insertions, 0 deletions
diff --git a/sys/src/libc/9sys/mkfile b/sys/src/libc/9sys/mkfile
index 6963ebbf6..686a7bd49 100644
--- a/sys/src/libc/9sys/mkfile
+++ b/sys/src/libc/9sys/mkfile
@@ -31,6 +31,7 @@ OFILES=\
nulldir.$O\
postnote.$O\
privalloc.$O\
+ procsetname.$O\
pushssl.$O\
pushtls.$O\
putenv.$O\
diff --git a/sys/src/libc/9sys/procsetname.c b/sys/src/libc/9sys/procsetname.c
new file mode 100644
index 000000000..5a75b5147
--- /dev/null
+++ b/sys/src/libc/9sys/procsetname.c
@@ -0,0 +1,19 @@
+#include <u.h>
+#include <libc.h>
+
+void
+procsetname(char *fmt, ...)
+{
+ int fd, n;
+ char buf[128];
+ va_list arg;
+
+ snprint(buf, sizeof buf, "#p/%lud/args", (ulong)getpid());
+ if((fd = open(buf, OWRITE)) < 0)
+ return;
+ va_start(arg, fmt);
+ n = vsnprint(buf, sizeof buf, fmt, arg);
+ va_end(arg);
+ write(fd, buf, n+1);
+ close(fd);
+}