Matthias Beyer
7b5d37a039
This was suggested by Marcel Müller, who also debugged this issue and found that this snippet was the error. The problem was, that we had the write-lock when starting the hooks. If the hook runs into an Err() mapping part where the Entry could already be drop()ed, Rust tries to be smart and drops the object. As we are still in the creation code of the entry, this paniced as we still hold the W-Lock and the drop() tryies to call _update() on the entry, which also tries to W-lock it. With the new additional scope, the W-lock gets dropped early and we do not have this problem anymore. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Suggested-by: Marcel Müller <neikos@neikos.email> Reported-by: Matthias Beyer <mail@beyermatthias.de> |
||
---|---|---|
.. | ||
src | ||
.gitignore | ||
Cargo.toml | ||
README.md |
libimagstore
The store is the heart of everything. Here lives the data, the complexity and the performance bottleneck.
The store offeres read/write access to all entries, a hook system to do on-the-fly modification of incoming/outgoing files and so on.
The store itself does not offer functionality, but has a commandline interface "imag-store" which can do basic things with the store.