1
0
Fork 0
forked from wry/wry

fdclosor: assign name to thread

This commit is contained in:
Julian Orth 2024-09-07 17:01:22 +02:00
parent 604974c927
commit 69c0cf4031

View file

@ -16,20 +16,23 @@ impl FdCloser {
cv: Condvar::new(), cv: Condvar::new(),
}); });
let slf2 = slf.clone(); let slf2 = slf.clone();
std::thread::spawn(move || { std::thread::Builder::new()
let mut fds = vec![]; .name("fd closer".to_string())
let mut lock = slf2.fds.lock(); .spawn(move || {
loop { let mut fds = vec![];
mem::swap(&mut *lock, &mut fds); let mut lock = slf2.fds.lock();
if fds.len() > 0 { loop {
drop(lock); mem::swap(&mut *lock, &mut fds);
fds.clear(); if fds.len() > 0 {
lock = slf2.fds.lock(); drop(lock);
} else { fds.clear();
slf2.cv.wait(&mut lock); lock = slf2.fds.lock();
} else {
slf2.cv.wait(&mut lock);
}
} }
} })
}); .unwrap();
slf slf
} }