git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@510
959494ce-11ee-0310-bf91-
de5d638817bd
static struct scanqueue *scanqueue = NULL;
static struct sharepoint *shares = NULL;
static struct hashcache *hashcache = NULL;
static struct scanqueue *scanqueue = NULL;
static struct sharepoint *shares = NULL;
static struct hashcache *hashcache = NULL;
-static pid_t hashjob = 0;
+/* Set initially to -1, but changed to 0 the first time run() is
+ * called. This is to avoid forking a hash job before daemonizing,
+ * since that would make the daemon unable to wait() for the hash
+ * job. */
+static pid_t hashjob = -1;
struct sharecache *shareroot = NULL;
unsigned long long sharesize = 0;
GCBCHAIN(sharechangecb, unsigned long long);
struct sharecache *shareroot = NULL;
unsigned long long sharesize = 0;
GCBCHAIN(sharechangecb, unsigned long long);
+ if(hashjob == -1)
+ {
+ hashjob = 0;
+ checkhashes();
+ }