libc: add procsetname()
This commit is contained in:
parent
311e3b51c6
commit
19166f2cf3
|
@ -489,6 +489,9 @@ extern int rwakeup(Rendez*);
|
|||
extern int rwakeupall(Rendez*);
|
||||
extern void** privalloc(void);
|
||||
|
||||
extern void procsetname(char*, ...);
|
||||
#pragma varargck argpos procsetname 1
|
||||
|
||||
/*
|
||||
* network dialing
|
||||
*/
|
||||
|
|
|
@ -53,31 +53,6 @@ usage(void)
|
|||
" [-a addr] [proto]");
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
static void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
void
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
|
|
|
@ -116,31 +116,6 @@ procgetname(void)
|
|||
return strdup(lp+1);
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
void
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
|
|
|
@ -142,7 +142,6 @@ int partwrite(Device*, Off, void*);
|
|||
void prdate(void);
|
||||
void preread(Device*, Off);
|
||||
int prime(vlong);
|
||||
void procsetname(char *fmt, ...);
|
||||
void putbuf(Iobuf*);
|
||||
Off qidpathgen(Device*);
|
||||
void* querychanger(Device *);
|
||||
|
|
|
@ -1,31 +1,6 @@
|
|||
#include "all.h"
|
||||
#include "io.h"
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
void
|
||||
newproc(void (*f)(void *), void *arg, char *text)
|
||||
{
|
||||
|
|
|
@ -437,31 +437,6 @@ Xwstat(Fsrpc *t)
|
|||
putsbuf(t);
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
void
|
||||
slave(Fsrpc *f)
|
||||
{
|
||||
|
|
|
@ -37,31 +37,6 @@ int filter(int, char *, char *);
|
|||
|
||||
static void mksecret(char *, uchar *);
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
void
|
||||
post(char *name, char *envname, int srvfd)
|
||||
{
|
||||
|
|
|
@ -284,31 +284,6 @@ main(int argc, char **argv)
|
|||
exits(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
/*
|
||||
* encapsulate v6 packets from the packet interface in v4 ones
|
||||
* and send them into the tunnel.
|
||||
|
|
|
@ -466,31 +466,6 @@ main(int argc, char **argv)
|
|||
exits(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
static int alarmed;
|
||||
|
||||
static void
|
||||
|
|
|
@ -121,7 +121,6 @@ void adddefroute(uchar*, uchar*, uchar*, uchar*);
|
|||
void removedefroute(uchar*, uchar*, uchar*, uchar*);
|
||||
|
||||
long jitter(void);
|
||||
void procsetname(char *fmt, ...);
|
||||
void catch(void*, char*);
|
||||
int countaddrs(uchar *a, int len);
|
||||
void addaddrs(uchar *to, int nto, uchar *from, int nfrom);
|
||||
|
|
|
@ -801,31 +801,6 @@ catch(void*, char *msg)
|
|||
noted(NDFLT);
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
/* return pseudo-random integer in range low...(hi-1) */
|
||||
ulong
|
||||
randint(ulong low, ulong hi)
|
||||
|
|
|
@ -175,15 +175,12 @@ void deledge(Edge*);
|
|||
void delsubnet(Snet*);
|
||||
void netrecalc(void);
|
||||
|
||||
void procsetname(char *fmt, ...);
|
||||
int consend(Conn *c, char *fmt, ...);
|
||||
#pragma varargck argpos consend 2
|
||||
void routepkt(Host *s, uchar *p, int n);
|
||||
void needkey(Host *from);
|
||||
void clearkey(Host *from);
|
||||
|
||||
#pragma varargck argpos procsetname 1
|
||||
#pragma varargck argpos consend 2
|
||||
|
||||
void*
|
||||
emalloc(ulong len)
|
||||
{
|
||||
|
@ -211,23 +208,6 @@ estrdup(char *s)
|
|||
return s;
|
||||
}
|
||||
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd, n;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
snprint(buf, sizeof buf, "#p/%d/args", 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);
|
||||
}
|
||||
|
||||
char*
|
||||
fd2dir(int fd, char *dir, int len)
|
||||
{
|
||||
|
|
|
@ -201,31 +201,6 @@ usage(void)
|
|||
exits("usage");
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
void
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
|
|
|
@ -1466,31 +1466,6 @@ dnslog(char *fmt, ...)
|
|||
syslog(0, logfile, dnserr);
|
||||
}
|
||||
|
||||
/*
|
||||
* based on libthread's threadsetname, but drags in less library code.
|
||||
* actually just sets the arguments displayed.
|
||||
*/
|
||||
void
|
||||
procsetname(char *fmt, ...)
|
||||
{
|
||||
int fd;
|
||||
char *cmdname;
|
||||
char buf[128];
|
||||
va_list arg;
|
||||
|
||||
va_start(arg, fmt);
|
||||
cmdname = vsmprint(fmt, arg);
|
||||
va_end(arg);
|
||||
if (cmdname == nil)
|
||||
return;
|
||||
snprint(buf, sizeof buf, "#p/%d/args", getpid());
|
||||
if((fd = open(buf, OWRITE)) >= 0){
|
||||
write(fd, cmdname, strlen(cmdname)+1);
|
||||
close(fd);
|
||||
}
|
||||
free(cmdname);
|
||||
}
|
||||
|
||||
/*
|
||||
* create a slave process to handle a request to avoid one request blocking
|
||||
* another
|
||||
|
|
|
@ -508,7 +508,6 @@ char* walkup(char*);
|
|||
RR* getdnsservers(int);
|
||||
void logreply(int, uchar*, DNSmsg*);
|
||||
void logsend(int, int, uchar*, char*, char*, int);
|
||||
void procsetname(char *fmt, ...);
|
||||
|
||||
/* dnresolve.c */
|
||||
RR* dnresolve(char*, int, int, Request*, RR**, int, int, int, int*);
|
||||
|
|
|
@ -31,6 +31,7 @@ OFILES=\
|
|||
nulldir.$O\
|
||||
postnote.$O\
|
||||
privalloc.$O\
|
||||
procsetname.$O\
|
||||
pushssl.$O\
|
||||
pushtls.$O\
|
||||
putenv.$O\
|
||||
|
|
19
sys/src/libc/9sys/procsetname.c
Normal file
19
sys/src/libc/9sys/procsetname.c
Normal file
|
@ -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);
|
||||
}
|
Loading…
Reference in a new issue