Megatest

Diff
Login

Differences From Artifact [cf63c9cd5f]:

To Artifact [e15e8c336a]:


1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368







1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1356
1357
1358
1359
1360
1361
1362






1363
1364
1365
1366
1367
1368
1369




1370
1371
1372
1373
1374
1375
1376







-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-







(define (dbfile:with-simple-file-lock fname proc #!key (expire-time 300))
  (let ((gotlock (dbfile:simple-file-lock-and-wait fname expire-time: expire-time)))
    (if gotlock
	(let ((res (proc)))
	  (dbfile:simple-file-release-lock fname)
	  res)
        (begin
          (dbfile:print-err "dbfile:with-simple-file-lock: " fname " is locked by " )
          (with-input-from-file fname
             (lambda ()
                (dbfile:print-err (read-line))))
	  (assert #f (conc "ERROR: simple file lock could not get a lock for " fname " in " expire-time " seconds"))
        )
          (dbfile:print-err "dbfile:with-simple-file-lock: " fname " is locked by "
			    (with-input-from-file fname
			      (lambda ()
				(dbfile:print-err (read-line)))))
	  #f)
	  #;(assert #f (conc "ERROR: simple file lock could not get a lock for " fname " in " expire-time " seconds"))
        )))
    )
  )
)


(define *get-cache-stmth-mutex* (make-mutex))

(define (db:get-cache-stmth dbdat db stmt)
  (mutex-lock! *get-cache-stmth-mutex*)
  (let* (;; (dbdat       (dbfile:get-dbdat dbstruct run-id))
	 (stmt-cache  (dbr:dbdat-stmt-cache dbdat))