Open svetlyak40wt opened 3 years ago
As a workaround, you may recreate the hash from time to time:
(setf cl-dbi::*threads-connection-pool* (cl-dbi::make-threads-connection-pool))
Thank you for reporting.
Adding :synchronized t
to make-hash-table
might work?
As I understand, :synchronized t
is SBCL's extensions and will not work on other implementations.
Probably we need a separate system to work this around? Something like trivial-sychronized
.?
As I see some sort of synchronization was already added: https://github.com/fukamachi/cl-dbi/blob/738a74dd69adb2a7c21fa67e140d89c7df25b227/src/cache/thread.lisp#L37
And today I've fixed it a little in this pull-request:
Because of that, Ultralisp sometimes fails with this error:
This code short be protected with lock.