libc: add procsetname()

This commit is contained in:
cinap_lenrek 2018-09-26 14:56:23 +02:00
parent 311e3b51c6
commit 19166f2cf3
17 changed files with 24 additions and 274 deletions

View file

@ -489,6 +489,9 @@ extern int rwakeup(Rendez*);
extern int rwakeupall(Rendez*); extern int rwakeupall(Rendez*);
extern void** privalloc(void); extern void** privalloc(void);
extern void procsetname(char*, ...);
#pragma varargck argpos procsetname 1
/* /*
* network dialing * network dialing
*/ */

View file

@ -53,31 +53,6 @@ usage(void)
" [-a addr] [proto]"); " [-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 void
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {

View file

@ -116,31 +116,6 @@ procgetname(void)
return strdup(lp+1); 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 void
main(int argc, char **argv) main(int argc, char **argv)
{ {

View file

@ -142,7 +142,6 @@ int partwrite(Device*, Off, void*);
void prdate(void); void prdate(void);
void preread(Device*, Off); void preread(Device*, Off);
int prime(vlong); int prime(vlong);
void procsetname(char *fmt, ...);
void putbuf(Iobuf*); void putbuf(Iobuf*);
Off qidpathgen(Device*); Off qidpathgen(Device*);
void* querychanger(Device *); void* querychanger(Device *);

View file

@ -1,31 +1,6 @@
#include "all.h" #include "all.h"
#include "io.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 void
newproc(void (*f)(void *), void *arg, char *text) newproc(void (*f)(void *), void *arg, char *text)
{ {

View file

@ -437,31 +437,6 @@ Xwstat(Fsrpc *t)
putsbuf(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 void
slave(Fsrpc *f) slave(Fsrpc *f)
{ {

View file

@ -37,31 +37,6 @@ int filter(int, char *, char *);
static void mksecret(char *, uchar *); 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 void
post(char *name, char *envname, int srvfd) post(char *name, char *envname, int srvfd)
{ {

View file

@ -284,31 +284,6 @@ main(int argc, char **argv)
exits(0); 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 * encapsulate v6 packets from the packet interface in v4 ones
* and send them into the tunnel. * and send them into the tunnel.

View file

@ -466,31 +466,6 @@ main(int argc, char **argv)
exits(0); 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 int alarmed;
static void static void

View file

@ -121,7 +121,6 @@ void adddefroute(uchar*, uchar*, uchar*, uchar*);
void removedefroute(uchar*, uchar*, uchar*, uchar*); void removedefroute(uchar*, uchar*, uchar*, uchar*);
long jitter(void); long jitter(void);
void procsetname(char *fmt, ...);
void catch(void*, char*); void catch(void*, char*);
int countaddrs(uchar *a, int len); int countaddrs(uchar *a, int len);
void addaddrs(uchar *to, int nto, uchar *from, int nfrom); void addaddrs(uchar *to, int nto, uchar *from, int nfrom);

View file

@ -801,31 +801,6 @@ catch(void*, char *msg)
noted(NDFLT); 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) */ /* return pseudo-random integer in range low...(hi-1) */
ulong ulong
randint(ulong low, ulong hi) randint(ulong low, ulong hi)

View file

@ -175,15 +175,12 @@ void deledge(Edge*);
void delsubnet(Snet*); void delsubnet(Snet*);
void netrecalc(void); void netrecalc(void);
void procsetname(char *fmt, ...);
int consend(Conn *c, char *fmt, ...); int consend(Conn *c, char *fmt, ...);
#pragma varargck argpos consend 2
void routepkt(Host *s, uchar *p, int n); void routepkt(Host *s, uchar *p, int n);
void needkey(Host *from); void needkey(Host *from);
void clearkey(Host *from); void clearkey(Host *from);
#pragma varargck argpos procsetname 1
#pragma varargck argpos consend 2
void* void*
emalloc(ulong len) emalloc(ulong len)
{ {
@ -211,23 +208,6 @@ estrdup(char *s)
return 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* char*
fd2dir(int fd, char *dir, int len) fd2dir(int fd, char *dir, int len)
{ {

View file

@ -201,31 +201,6 @@ usage(void)
exits("usage"); 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 void
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {

View file

@ -1466,31 +1466,6 @@ dnslog(char *fmt, ...)
syslog(0, logfile, dnserr); 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 * create a slave process to handle a request to avoid one request blocking
* another * another

View file

@ -508,7 +508,6 @@ char* walkup(char*);
RR* getdnsservers(int); RR* getdnsservers(int);
void logreply(int, uchar*, DNSmsg*); void logreply(int, uchar*, DNSmsg*);
void logsend(int, int, uchar*, char*, char*, int); void logsend(int, int, uchar*, char*, char*, int);
void procsetname(char *fmt, ...);
/* dnresolve.c */ /* dnresolve.c */
RR* dnresolve(char*, int, int, Request*, RR**, int, int, int, int*); RR* dnresolve(char*, int, int, Request*, RR**, int, int, int, int*);

View file

@ -31,6 +31,7 @@ OFILES=\
nulldir.$O\ nulldir.$O\
postnote.$O\ postnote.$O\
privalloc.$O\ privalloc.$O\
procsetname.$O\
pushssl.$O\ pushssl.$O\
pushtls.$O\ pushtls.$O\
putenv.$O\ putenv.$O\

View 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);
}