Index: dashboard.scm ================================================================== --- dashboard.scm +++ dashboard.scm @@ -1449,11 +1449,13 @@ (let ((db (tasks:open-db))) (sqlite3:finalize! db)) (define (dashboard:run-update x) (let* ((modtime (file-modification-time *db-file-path*)) - (monitor-modtime (file-modification-time *monitor-db-path*)) + (monitor-modtime (if (file-exists? *monitor-db-path*) + (file-modification-time *monitor-db-path*) + -1)) (run-update-time (current-seconds)) (recalc (dashboard:recalc modtime *please-update-buttons* *last-db-update-time*))) (if (and (eq? *current-tab-number* 0) (> monitor-modtime *last-monitor-update-time*)) (begin Index: tasks.scm ================================================================== --- tasks.scm +++ tasks.scm @@ -24,11 +24,13 @@ (define (tasks:open-db) (let* ((dbpath (conc *toppath* "/monitor.db")) (exists (file-exists? dbpath)) (write-access (file-write-access? dbpath)) - (mdb (sqlite3:open-database dbpath)) ;; (never-give-up-open-db dbpath)) + (mdb (if (file-write-access? *toppath*) + (sqlite3:open-database dbpath) + (sqlite3:open-database ":memory:"))) ;; (never-give-up-open-db dbpath)) (handler (make-busy-timeout 36000))) (if (and exists (not write-access)) (set! *db-write-access* write-access)) ;; only unset so other db's also can use this control (sqlite3:set-busy-handler! mdb handler)