private void StartWorker()
        {
            if (!Directory.Exists(log_dir))
            {
                GLib.Timeout.Add(300000, new GLib.TimeoutHandler(CheckForExistence));
                return;
            }

            Log.Info("Starting konversation backend; using log files from {0}", log_dir);

            session_offset_table = new Dictionary <string, long> ();

            if (Inotify.Enabled)
            {
                Inotify.Subscribe(log_dir, OnInotify,
                                  Inotify.EventType.Create |
                                  Inotify.EventType.Modify);
            }

            initial_log_files = new ArrayList(Directory.GetFiles(log_dir));
            Log.Debug("Konversation backend: found {0} log files", initial_log_files.Count);

            IsIndexing = true;
            LogIndexableGenerator generator = new LogIndexableGenerator(this, log_dir);

            Scheduler.Task task = NewAddTask(generator);
            task.Tag    = log_dir;
            task.Source = this;
            ThisScheduler.Add(task);
        }
		private void StartWorker ()
		{
			if (! Directory.Exists (log_dir)) {
				GLib.Timeout.Add (300000, new GLib.TimeoutHandler (CheckForExistence));
				return;
			}

			Log.Info ("Starting konversation backend; using log files from {0}", log_dir);

			session_offset_table = new Dictionary<string, long> ();

			if (Inotify.Enabled)
				Inotify.Subscribe (log_dir, OnInotify,
						    Inotify.EventType.Create |
						    Inotify.EventType.Modify);

			initial_log_files = new ArrayList (Directory.GetFiles (log_dir));
			Log.Debug ("Konversation backend: found {0} log files", initial_log_files.Count);

			IsIndexing = true;
			LogIndexableGenerator generator = new LogIndexableGenerator (this, log_dir);
			Scheduler.Task task = NewAddTask (generator);
			task.Tag = log_dir;
			task.Source = this;
			ThisScheduler.Add (task);
		}