change global allocator and fix some services

This commit is contained in:
Jun Kurihara 2022-07-11 21:00:21 +09:00
commit 9f6b73a7c0
No known key found for this signature in database
GPG key ID: 48ADFD173ED22B03
3 changed files with 28 additions and 18 deletions

View file

@ -1,6 +1,6 @@
#[cfg(not(target_env = "msvc"))]
use mimalloc_rust::*;
#[global_allocator]
static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc;
static GLOBAL_MIMALLOC: GlobalMiMalloc = GlobalMiMalloc;
mod backend;
mod backend_opt;

View file

@ -209,39 +209,50 @@ where
#[cfg(not(feature = "h3"))]
{
select! {
_= self.cert_service(tx) => {
_= self.cert_service(tx).fuse() => {
error!("Cert service for TLS exited");
},
_ = self.listener_service(server, rx) => {
_ = self.listener_service(server, rx).fuse() => {
error!("TCP proxy service for TLS exited");
},
complete => {
error!("Something went wrong");
return Ok(())
}
};
Ok(())
}
#[cfg(feature = "h3")]
{
if self.globals.http3 {
tokio::select! {
_= self.cert_service(tx) => {
select! {
_= self.cert_service(tx).fuse() => {
error!("Cert service for TLS exited");
},
_ = self.listener_service(server, rx.clone()) => {
_ = self.listener_service(server, rx.clone()).fuse() => {
error!("TCP proxy service for TLS exited");
},
_= self.listener_service_h3(rx) => {
_= self.listener_service_h3(rx).fuse() => {
error!("UDP proxy service for QUIC exited");
},
complete => {
error!("Something went wrong");
return Ok(())
}
};
Ok(())
} else {
tokio::select! {
_= self.cert_service(tx) => {
select! {
_= self.cert_service(tx).fuse() => {
error!("Cert service for TLS exited");
},
_ = self.listener_service(server, rx) => {
_ = self.listener_service(server, rx).fuse() => {
error!("TCP proxy service for TLS exited");
},
complete => {
error!("Something went wrong");
return Ok(())
}
};
Ok(())
}