brewco/lock.c

changeset 465
3aac3276689d
parent 434
eb724767860d
equal deleted inserted replaced
464:4a624c071ca9 465:3aac3276689d
21 *****************************************************************************/ 21 *****************************************************************************/
22 22
23 #include "lock.h" 23 #include "lock.h"
24 #include "brewco.h" 24 #include "brewco.h"
25 25
26 extern char *varpath;
27
28
26 /* 29 /*
27 * Put a lock on this program. 30 * Put a lock on this program.
28 */ 31 */
29 int lockprog(char *name) 32 int lockprog(char *name)
30 { 33 {
33 pid_t oldpid; 36 pid_t oldpid;
34 37
35 tempfile = calloc(PATH_MAX, sizeof(char)); 38 tempfile = calloc(PATH_MAX, sizeof(char));
36 lockfile = calloc(PATH_MAX, sizeof(char)); 39 lockfile = calloc(PATH_MAX, sizeof(char));
37 40
38 snprintf(tempfile, PATH_MAX, "/var/run/%s.tmp", name); 41 snprintf(tempfile, PATH_MAX, "%s%s.tmp", varpath, name);
39 snprintf(lockfile, PATH_MAX, "/var/run/%s.pid", name); 42 snprintf(lockfile, PATH_MAX, "%s%s.pid", varpath, name);
40 43
41 if ((fp = fopen(tempfile, "w")) == NULL) { 44 if ((fp = fopen(tempfile, "w")) == NULL) {
42 perror(name); 45 perror(name);
43 printf("Can't create lockfile \"%s\"\n", tempfile); 46 printf("Can't create lockfile \"%s\"\n", tempfile);
44 free(tempfile); 47 free(tempfile);
103 char *lockfile; 106 char *lockfile;
104 pid_t oldpid; 107 pid_t oldpid;
105 FILE *fp; 108 FILE *fp;
106 109
107 lockfile = calloc(PATH_MAX, sizeof(char)); 110 lockfile = calloc(PATH_MAX, sizeof(char));
108 snprintf(lockfile, PATH_MAX, "/var/run/%s.pid", name); 111 snprintf(lockfile, PATH_MAX, "%s%s.pid", varpath, name);
109 112
110 if ((fp = fopen(lockfile, "r")) == NULL) { 113 if ((fp = fopen(lockfile, "r")) == NULL) {
111 syslog(LOG_NOTICE, "Can't open lockfile \"%s\"", lockfile); 114 syslog(LOG_NOTICE, "Can't open lockfile \"%s\"", lockfile);
112 free(lockfile); 115 free(lockfile);
113 return; 116 return;

mercurial