mirror of https://github.com/fafhrd91/actix-net
Merge branch 'master' into master
This commit is contained in:
commit
a73891c4cd
|
@ -2,7 +2,9 @@
|
|||
|
||||
## Unreleased - 2021-xx-xx
|
||||
* Add `Arbiter::try_current` for situations where thread may or may not have Arbiter context. [#408]
|
||||
* Start io-uring with `System::new` when feature is enabled. [#395]
|
||||
|
||||
[#395]: https://github.com/actix/actix-net/pull/395
|
||||
[#408]: https://github.com/actix/actix-net/pull/408
|
||||
|
||||
|
||||
|
|
|
@ -296,10 +296,11 @@ impl ServerWorker {
|
|||
// get actix system context if it is set
|
||||
let sys = System::try_current();
|
||||
|
||||
// TODO: wait for server startup with sync channel
|
||||
// service factories initialization channel
|
||||
let (factory_tx, factory_rx) = std::sync::mpsc::sync_channel(1);
|
||||
|
||||
std::thread::Builder::new()
|
||||
.name("eofibef".to_owned())
|
||||
.name(format!("actix-server worker {}", idx))
|
||||
.spawn(move || {
|
||||
// forward existing actix system context
|
||||
if let Some(sys) = sys {
|
||||
|
@ -350,6 +351,8 @@ impl ServerWorker {
|
|||
}
|
||||
};
|
||||
|
||||
factory_tx.send(()).unwrap();
|
||||
|
||||
// a third spawn to make sure ServerWorker runs as non boxed future.
|
||||
spawn(ServerWorker {
|
||||
rx,
|
||||
|
@ -369,6 +372,9 @@ impl ServerWorker {
|
|||
})
|
||||
.expect("worker thread error/panic");
|
||||
|
||||
// wait for service factories initialization
|
||||
factory_rx.recv().unwrap();
|
||||
|
||||
Ok(handle_pair(idx, tx1, tx2, counter))
|
||||
}
|
||||
|
||||
|
|
|
@ -312,7 +312,7 @@ async fn test_service_restart() {
|
|||
h.join().unwrap().unwrap();
|
||||
}
|
||||
|
||||
#[cfg_attr(not(target_os = "linux"), ignore)]
|
||||
#[ignore] // non-deterministic on CI
|
||||
#[actix_rt::test]
|
||||
async fn worker_restart() {
|
||||
use actix_service::{Service, ServiceFactory};
|
||||
|
|
Loading…
Reference in New Issue