mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-10 18:23:28 +00:00
Changed permission of 'elogd.pid' file
SVN revision: 403
This commit is contained in:
parent
4fe2b932b7
commit
d59f66d352
35
src/elogd.c
35
src/elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.19 2003/02/19 08:05:49 midas
|
||||||
|
Changed permission of 'elogd.pid' file
|
||||||
|
|
||||||
Revision 1.18 2003/02/17 18:51:55 midas
|
Revision 1.18 2003/02/17 18:51:55 midas
|
||||||
Fixed yet another bug with 'Location:'
|
Fixed yet another bug with 'Location:'
|
||||||
|
|
||||||
@ -603,6 +606,8 @@
|
|||||||
#define DIR_SEPARATOR '/'
|
#define DIR_SEPARATOR '/'
|
||||||
#define DIR_SEPARATOR_STR "/"
|
#define DIR_SEPARATOR_STR "/"
|
||||||
|
|
||||||
|
#define PIDPATH "/var/run/elogd.pid"
|
||||||
|
|
||||||
#define __USE_XOPEN /* needed for crypt() */
|
#define __USE_XOPEN /* needed for crypt() */
|
||||||
|
|
||||||
typedef int BOOL;
|
typedef int BOOL;
|
||||||
@ -2133,7 +2138,7 @@ int i, j, n, status;
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
perror("el_index_logbooks");
|
perror("el_index_logbooks");
|
||||||
printf("Cannot create directlry \"%s\"\n", data_dir);
|
printf("Cannot create directory \"%s\"\n", data_dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chdir(str);
|
chdir(str);
|
||||||
@ -11211,18 +11216,28 @@ struct timeval timeout;
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef OS_UNIX
|
#ifdef OS_UNIX
|
||||||
/* crate /var/run/elogd.pid file */
|
/* create /var/run/elogd.pid file */
|
||||||
{
|
{
|
||||||
int pid;
|
int fd;
|
||||||
FILE *f;
|
char buf[20];
|
||||||
|
|
||||||
pid = getpid();
|
fd = open(PIDPATH, O_CREAT | O_RDWR, 0644);
|
||||||
f = fopen("/var/run/elogd.pid", "w");
|
if (fd < 0)
|
||||||
if (f)
|
|
||||||
{
|
{
|
||||||
fprintf(f, "%d\n", pid);
|
perror("server_loop");
|
||||||
fclose(f);
|
printf("Error created pid file \"PIDPATH\".\n");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memset(buf, 0, sizeof(buf));
|
||||||
|
sprintf(buf, "%d\n", (int)getpid());
|
||||||
|
if (write(fd, buf, strlen(buf)) == -1)
|
||||||
|
{
|
||||||
|
perror("server_loop");
|
||||||
|
printf("Error writing to pid file \"PIDPATH\".\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* install signal handler */
|
/* install signal handler */
|
||||||
@ -12360,7 +12375,7 @@ usage:
|
|||||||
server_loop(tcp_port, daemon);
|
server_loop(tcp_port, daemon);
|
||||||
|
|
||||||
#ifdef OS_UNIX
|
#ifdef OS_UNIX
|
||||||
unlink("/var/run/elogd.pid");
|
unlink(PIDPATH);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user