mirror of
https://git.aramjonghu.dev/AramJonghu/rustlings.git
synced 2026-09-04 01:03:31 +02:00
Optimize the notify event handler
This commit is contained in:
+4
-4
@@ -144,23 +144,23 @@ fn main() -> Result<()> {
|
||||
|
||||
match args.command {
|
||||
None => {
|
||||
let notify_exercise_paths: Option<&'static [&'static str]> = if args.manual_run {
|
||||
let notify_exercise_names = if args.manual_run {
|
||||
None
|
||||
} else {
|
||||
// For the the notify event handler thread.
|
||||
// Leaking is not a problem because the slice lives until the end of the program.
|
||||
Some(
|
||||
app_state
|
||||
&*app_state
|
||||
.exercises()
|
||||
.iter()
|
||||
.map(|exercise| exercise.path)
|
||||
.map(|exercise| exercise.name.as_bytes())
|
||||
.collect::<Vec<_>>()
|
||||
.leak(),
|
||||
)
|
||||
};
|
||||
|
||||
loop {
|
||||
match watch::watch(&mut app_state, notify_exercise_paths)? {
|
||||
match watch::watch(&mut app_state, notify_exercise_names)? {
|
||||
WatchExit::Shutdown => break,
|
||||
// It is much easier to exit the watch mode, launch the list mode and then restart
|
||||
// the watch mode instead of trying to pause the watch threads and correct the
|
||||
|
||||
Reference in New Issue
Block a user