chiark
/
gitweb
/
~ianmdlvl
/
otter.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
345f013
)
occult ilks: Fix dispose (!)
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Thu, 11 Mar 2021 11:28:40 +0000
(11:28 +0000)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Thu, 11 Mar 2021 11:29:05 +0000
(11:29 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/occultilks.rs
patch
|
blob
|
history
diff --git
a/src/occultilks.rs
b/src/occultilks.rs
index 81d912b8ea64fe158dd01374e647ab14017ee48c..02c77023a24b52a67b385a618d831398abfe7de3 100644
(file)
--- a/
src/occultilks.rs
+++ b/
src/occultilks.rs
@@
-64,8
+64,12
@@
impl OccultIlks {
pub fn dispose(&mut self, id: OId) {
let id: Id = id.0;
- let data = self.table.remove(id).unwrap();
- self.lookup.remove(&data.k);
+ let data = &mut self.table[id];
+ let newrefcount = data.refcount.checked_sub(1).unwrap();
+ if newrefcount == 0 {
+ let data = self.table.remove(id).unwrap();
+ self.lookup.remove(&data.k);
+ }
}
}