Fix a blocking channel, appearing like a deadlock

This commit is contained in:
Clément Renault 2019-12-30 15:28:28 +01:00
parent 20b92fcb4c
commit 691e2a3c1d
No known key found for this signature in database
GPG Key ID: 0151CDAB43460DAE

View File

@ -168,7 +168,7 @@ impl Database {
// open the previously aggregated indexes
let mut indexes = HashMap::new();
for index_uid in must_open {
let (sender, receiver) = crossbeam_channel::bounded(100);
let (sender, receiver) = crossbeam_channel::unbounded();
let index = match store::open(&env, &update_env, &index_uid, sender.clone())? {
Some(index) => index,
None => {
@ -233,7 +233,7 @@ impl Database {
match indexes_lock.entry(name.to_owned()) {
Entry::Occupied(_) => Err(crate::Error::IndexAlreadyExists),
Entry::Vacant(entry) => {
let (sender, receiver) = crossbeam_channel::bounded(100);
let (sender, receiver) = crossbeam_channel::unbounded();
let index = store::create(&self.env, &self.update_env, name, sender)?;
let mut writer = self.env.typed_write_txn::<MainT>()?;