mirror of
https://git.freebsd.org/ports.git
synced 2025-06-23 21:50:32 -04:00
Summary: Add 'rtg' user and group in UIDs/GIDs. Use daemon(8) to daemonize rtgpoll. Add prestart commands to set correct permissions for RTG's files. Reviewers: swills, allanjude, xmj, andrew.fengler_scaleengine.com, #contributor_reviewers_ports, matthew Reviewed By: #contributor_reviewers_ports, matthew Subscribers: matthew, mat Differential Revision: https://reviews.freebsd.org/D7486
65 lines
2 KiB
C
65 lines
2 KiB
C
--- src/rtgpoll.c.orig 2003-09-25 15:56:04 UTC
|
|
+++ src/rtgpoll.c
|
|
@@ -13,6 +13,7 @@
|
|
stats_t stats =
|
|
{PTHREAD_MUTEX_INITIALIZER, 0, 0, 0, 0, 0, 0, 0, 0, 0.0};
|
|
char *target_file = NULL;
|
|
+char *pidfile = NULL;
|
|
target_t *current = NULL;
|
|
MYSQL mysql;
|
|
int entries = 0;
|
|
@@ -41,7 +42,7 @@ int main(int argc, char *argv[]) {
|
|
config_defaults(&set);
|
|
|
|
/* Parse the command-line. */
|
|
- while ((ch = getopt(argc, argv, "c:dhmt:vz")) != EOF)
|
|
+ while ((ch = getopt(argc, argv, "c:dhmp:t:vz")) != EOF)
|
|
switch ((char) ch) {
|
|
case 'c':
|
|
conf_file = optarg;
|
|
@@ -55,6 +56,9 @@ int main(int argc, char *argv[]) {
|
|
case 'm':
|
|
set.multiple++;
|
|
break;
|
|
+ case 'p':
|
|
+ pidfile = optarg;
|
|
+ break;
|
|
case 't':
|
|
target_file = optarg;
|
|
break;
|
|
@@ -66,6 +70,9 @@ int main(int argc, char *argv[]) {
|
|
break;
|
|
}
|
|
|
|
+ if (!pidfile)
|
|
+ pidfile = DEFAULT_PIDFILE;
|
|
+
|
|
if (set.verbose >= LOW)
|
|
printf("RTG version %s starting.\n", VERSION);
|
|
|
|
@@ -78,7 +85,7 @@ int main(int argc, char *argv[]) {
|
|
sigaddset(&signal_set, SIGINT);
|
|
sigaddset(&signal_set, SIGQUIT);
|
|
if (!set.multiple)
|
|
- checkPID(PIDFILE);
|
|
+ checkPID(pidfile);
|
|
|
|
if (pthread_sigmask(SIG_BLOCK, &signal_set, NULL) != 0)
|
|
printf("pthread_sigmask error\n");
|
|
@@ -244,7 +251,7 @@ void *sig_handler(void *arg)
|
|
if (set.verbose >= LOW)
|
|
printf("Quiting: received signal %d.\n", sig_number);
|
|
rtg_dbdisconnect(&mysql);
|
|
- unlink(PIDFILE);
|
|
+ unlink(pidfile);
|
|
exit(1);
|
|
break;
|
|
}
|
|
@@ -259,6 +266,7 @@ void usage(char *prog)
|
|
printf("\nOptions:\n");
|
|
printf(" -c <file> Specify configuration file\n");
|
|
printf(" -d Disable database inserts\n");
|
|
+ printf(" -p <file> Specify pid file (defaults to /tmp/rtgpoll.pid)\n");
|
|
printf(" -t <file> Specify target file\n");
|
|
printf(" -v Increase verbosity\n");
|
|
printf(" -m Allow multiple instances\n");
|