libc: add procsetname()
This commit is contained in:
parent
311e3b51c6
commit
19166f2cf3
17 changed files with 24 additions and 274 deletions
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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[])
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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 *);
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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[])
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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*);
|
||||||
|
|
|
@ -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\
|
||||||
|
|
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…
Add table
Add a link
Reference in a new issue