struct event *sigterm_ev, *sigquit_ev, *sigchld_ev, *timer_ev;
static int in_shutdown;
static const char *dbus_path;
+static char *trackerd_loglev;
/******************************************************************
* Misc stuff
if (trackerd_pid == -1) {
trackerd_restarts++;
LOG(log_note, logtype_afpd, "Restarting 'trackerd' (restarts: %u)", trackerd_restarts);
- if ((trackerd_pid = run_process(TRACKER_RDF_PREFIX "/bin/trackerd", "--verbosity=3", NULL)) == -1) {
+ if ((trackerd_pid = run_process(TRACKER_RDF_PREFIX "/bin/trackerd", trackerd_loglev, NULL)) == -1) {
LOG(log_error, logtype_default, "Error starting '%s'", "/usr/bin/trackerd");
}
}
static pid_t run_process(const char *path, ...)
{
int ret, i = 0;
- char *myargv[10];
+#define MYARVSIZE 64
+ char *myargv[MYARVSIZE];
va_list args;
pid_t pid;
if (pid == 0) {
myargv[i++] = (char *)path;
va_start(args, path);
- while ((myargv[i++] = va_arg(args, char *)) != NULL)
- ;
+ while (i < MYARVSIZE) {
+ if ((myargv[i++] = va_arg(args, char *)) == NULL)
+ break;
+ }
va_end(args);
ret = execv(path, myargv);
system(TRACKER_PREFIX "/bin/tracker-control -s");
#endif
#ifdef HAVE_TRACKER_RDF
- if ((trackerd_pid = run_process(TRACKER_RDF_PREFIX "/bin/trackerd", "--verbosity=3", NULL)) == -1) {
+ if (asprintf(&trackerd_loglev, "--verbosity=%d", obj.options.tracker_loglevel) == -1)
+ netatalk_exit(EXITERR_CONF);
+ if ((trackerd_pid = run_process(TRACKER_RDF_PREFIX "/bin/trackerd", trackerd_loglev, NULL)) == -1) {
LOG(log_error, logtype_default, "Error starting '%s'", TRACKER_RDF_PREFIX "/bin/trackerd");
netatalk_exit(EXITERR_CONF);
}