mirror of
https://github.com/zed-industries/zed.git
synced 2025-02-10 04:09:37 +00:00
Avoid blocking forever on startup if config files do not exist (#2549)
The files will still get created if the user opens their settings and saves, otherwise everything will transparently work Release Notes: - Fixed an issue where a missing settings file would cause a hang on startup ([#1590](https://github.com/zed-industries/community/issues/1590)).
This commit is contained in:
commit
2ffbeca7dd
1 changed files with 10 additions and 3 deletions
|
@ -66,15 +66,22 @@ pub fn watch_config_file(
|
|||
.spawn(async move {
|
||||
let events = fs.watch(&path, Duration::from_millis(100)).await;
|
||||
futures::pin_mut!(events);
|
||||
|
||||
let contents = fs.load(&path).await.unwrap_or_default();
|
||||
if tx.unbounded_send(contents).is_err() {
|
||||
return;
|
||||
}
|
||||
|
||||
loop {
|
||||
if events.next().await.is_none() {
|
||||
break;
|
||||
}
|
||||
|
||||
if let Ok(contents) = fs.load(&path).await {
|
||||
if !tx.unbounded_send(contents).is_ok() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if events.next().await.is_none() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
.detach();
|
||||
|
|
Loading…
Reference in a new issue