mirror of https://github.com/fafhrd91/actix-net
let worker start block longer.
This commit is contained in:
parent
73fc384514
commit
aaeaa0aebd
|
@ -189,27 +189,25 @@ impl Accept {
|
|||
|
||||
loop {
|
||||
match self.poll.poll(&mut events, self.timeout) {
|
||||
Ok(_) => {
|
||||
for event in events.iter() {
|
||||
let token = event.token();
|
||||
match token {
|
||||
WAKER_TOKEN => {
|
||||
let should_return = self.handle_waker(&mut sockets);
|
||||
if should_return {
|
||||
return;
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
let token = usize::from(token);
|
||||
self.accept(&mut sockets, token)
|
||||
}
|
||||
Ok(_) => {}
|
||||
Err(e) if e.kind() == io::ErrorKind::Interrupted => {}
|
||||
Err(e) => panic!("Poll error: {}", e),
|
||||
}
|
||||
|
||||
for event in events.iter() {
|
||||
let token = event.token();
|
||||
match token {
|
||||
WAKER_TOKEN => {
|
||||
let should_return = self.handle_waker(&mut sockets);
|
||||
if should_return {
|
||||
return;
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
let token = usize::from(token);
|
||||
self.accept(&mut sockets, token)
|
||||
}
|
||||
}
|
||||
Err(e) => match e.kind() {
|
||||
std::io::ErrorKind::Interrupted => {}
|
||||
_ => panic!("Poll error: {}", e),
|
||||
},
|
||||
}
|
||||
|
||||
// check for timeout and re-register sockets.
|
||||
|
|
|
@ -12,6 +12,7 @@ use std::{
|
|||
};
|
||||
|
||||
use actix_rt::{
|
||||
task::yield_now,
|
||||
time::{sleep, Instant, Sleep},
|
||||
System,
|
||||
};
|
||||
|
@ -304,8 +305,6 @@ impl ServerWorker {
|
|||
|
||||
match res {
|
||||
Ok(services) => {
|
||||
f(None);
|
||||
|
||||
let worker = ServerWorker {
|
||||
rx,
|
||||
rx2,
|
||||
|
@ -320,6 +319,8 @@ impl ServerWorker {
|
|||
let worker = local.spawn_local(worker);
|
||||
|
||||
handle.block_on(local.run_until(async {
|
||||
yield_now().await;
|
||||
f(None);
|
||||
let _ = worker.await;
|
||||
}));
|
||||
}
|
||||
|
@ -344,8 +345,6 @@ impl ServerWorker {
|
|||
|
||||
match res {
|
||||
Ok((services, rt)) => {
|
||||
f(None);
|
||||
|
||||
let worker = ServerWorker {
|
||||
rx,
|
||||
rx2,
|
||||
|
@ -360,6 +359,8 @@ impl ServerWorker {
|
|||
let handle = local.spawn_local(worker);
|
||||
|
||||
local.block_on(&rt, async {
|
||||
yield_now().await;
|
||||
f(None);
|
||||
let _ = handle.await;
|
||||
});
|
||||
}
|
||||
|
|
|
@ -36,7 +36,6 @@ fn test_bind() {
|
|||
});
|
||||
let handle = rx.recv().unwrap();
|
||||
|
||||
thread::sleep(Duration::from_millis(500));
|
||||
assert!(net::TcpStream::connect(addr).is_ok());
|
||||
let _ = handle.stop(true);
|
||||
let _ = h.join().unwrap();
|
||||
|
|
Loading…
Reference in New Issue