refactor some code out to write_pidfile() in util.c

This commit is contained in:
Yang Tse 2008-02-26 15:06:44 +00:00
Родитель 9682c2037e
Коммит 0d09f342c4
5 изменённых файлов: 32 добавлений и 52 удалений

Просмотреть файл

@ -98,6 +98,17 @@ static volatile int sigpipe; /* Why? It's not used */
const char *serverlogfile = (char *)DEFAULT_LOGFILE;
bool use_ipv6 = FALSE;
unsigned short port = DEFAULT_PORT;
unsigned short connectport = 0; /* if non-zero, we activate this mode */
enum sockmode {
PASSIVE_LISTEN, /* as a server waiting for connections */
PASSIVE_CONNECT, /* as a server, connected to a client */
ACTIVE, /* as a client, connected to a server */
ACTIVE_DISCONNECT /* as a client, disconnected from server */
};
static void lograw(unsigned char *buffer, ssize_t len)
{
char data[120];
@ -143,17 +154,6 @@ static void sigpipe_handler(int sig)
}
#endif
bool use_ipv6=FALSE;
unsigned short port = DEFAULT_PORT;
unsigned short connectport = 0; /* if non-zero, we activate this mode */
enum sockmode {
PASSIVE_LISTEN, /* as a server waiting for connections */
PASSIVE_CONNECT, /* as a server, connected to a client */
ACTIVE, /* as a client, connected to a server */
ACTIVE_DISCONNECT /* as a client, disconnected from server */
};
/*
sockfdp is a pointer to an established stream or CURL_SOCKET_BAD
@ -519,7 +519,6 @@ int main(int argc, char *argv[])
#endif /* ENABLE_IPV6 */
curl_socket_t sock;
curl_socket_t msgsock;
FILE *pidfile;
char *pidname= (char *)".sockfilt.pid";
int rc;
int error;
@ -682,18 +681,7 @@ int main(int argc, char *argv[])
else
logmsg("Listening on port %d", port);
pidfile = fopen(pidname, "w");
if(pidfile) {
long pid = (long)getpid();
fprintf(pidfile, "%ld\n", pid);
fclose(pidfile);
logmsg("Wrote pid %ld to %s", pid, pidname);
}
else {
error = ERRNO;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg("Error opening file: %s", pidname);
logmsg("Couldn't write pid file");
if(!write_pidfile(pidname)) {
sclose(sock);
return 1;
}

Просмотреть файл

@ -832,11 +832,9 @@ int main(int argc, char *argv[])
curl_socket_t sock, msgsock;
int flag;
unsigned short port = DEFAULT_PORT;
FILE *pidfile;
char *pidname= (char *)".http.pid";
struct httprequest req;
int rc;
int error;
int arg=1;
#ifdef CURL_SWS_FORK_ENABLED
bool use_fork = FALSE;
@ -946,18 +944,7 @@ int main(int argc, char *argv[])
return 1;
}
pidfile = fopen(pidname, "w");
if(pidfile) {
long pid = (long)getpid();
fprintf(pidfile, "%ld\n", pid);
fclose(pidfile);
logmsg("Wrote pid %ld to %s", pid, pidname);
}
else {
error = ERRNO;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg("Error opening file: %s", pidname);
logmsg("Couldn't write pid file");
if(!write_pidfile(pidname)) {
sclose(sock);
return 1;
}

Просмотреть файл

@ -417,13 +417,11 @@ int main(int argc, char **argv)
struct tftphdr *tp;
int n = 0;
int arg = 1;
FILE *pidfile;
char *pidname= (char *)".tftpd.pid";
unsigned short port = DEFAULT_PORT;
curl_socket_t sock;
int flag;
int rc;
int error;
struct testcase test;
while(argc>arg) {
@ -509,18 +507,7 @@ int main(int argc, char **argv)
return 1;
}
pidfile = fopen(pidname, "w");
if(pidfile) {
long pid = (long)getpid();
fprintf(pidfile, "%ld\n", pid);
fclose(pidfile);
logmsg("Wrote pid %ld to %s", pid, pidname);
}
else {
error = ERRNO;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg("Error opening file: %s", pidname);
logmsg("Couldn't write pid file");
if(!write_pidfile(pidname)) {
sclose(sock);
return 1;
}

Просмотреть файл

@ -222,3 +222,19 @@ int wait_ms(int timeout_ms)
return r;
}
bool write_pidfile(const char *filename)
{
FILE *pidfile;
long pid;
pid = (long)getpid();
pidfile = fopen(filename, "w");
if(!pidfile) {
logmsg("Couldn't write pid file: %s %s", filename, strerror(ERRNO));
return FALSE;
}
fprintf(pidfile, "%ld\n", pid);
fclose(pidfile);
logmsg("Wrote pid %ld to %s", pid, filename);
return true;
}

Просмотреть файл

@ -51,4 +51,6 @@ char *test2file(long testno);
int wait_ms(int timeout_ms);
bool write_pidfile(const char *filename);
#endif /* __SERVER_UTIL_H */