@@ -208,21 +208,24 @@ pub async fn io_loop(
208
208
let mut dhu_listener = None ;
209
209
let mut md_listener = None ;
210
210
let shared_config = config. clone ( ) ;
211
- let config = config. read ( ) . await . clone ( ) ;
212
- if !config. wired . is_some ( ) {
213
- info ! ( "{} 🛰️ Starting TCP server for MD..." , NAME ) ;
214
- let bind_addr = format ! ( "0.0.0.0:{}" , TCP_SERVER_PORT ) . parse ( ) . unwrap ( ) ;
215
- md_listener = Some ( TcpListener :: bind ( bind_addr) . unwrap ( ) ) ;
216
- info ! ( "{} 🛰️ MD TCP server bound to: <u>{}</u>" , NAME , bind_addr) ;
217
- }
218
- if config. dhu {
219
- info ! ( "{} 🛰️ Starting TCP server for DHU..." , NAME ) ;
220
- let bind_addr = format ! ( "0.0.0.0:{}" , TCP_DHU_PORT ) . parse ( ) . unwrap ( ) ;
221
- dhu_listener = Some ( TcpListener :: bind ( bind_addr) . unwrap ( ) ) ;
222
- info ! ( "{} 🛰️ DHU TCP server bound to: <u>{}</u>" , NAME , bind_addr) ;
223
- }
224
211
225
212
loop {
213
+ // reload new config
214
+ let config = config. read ( ) . await . clone ( ) ;
215
+
216
+ if !config. wired . is_some ( ) && md_listener. is_none ( ) {
217
+ info ! ( "{} 🛰️ Starting TCP server for MD..." , NAME ) ;
218
+ let bind_addr = format ! ( "0.0.0.0:{}" , TCP_SERVER_PORT ) . parse ( ) . unwrap ( ) ;
219
+ md_listener = Some ( TcpListener :: bind ( bind_addr) . unwrap ( ) ) ;
220
+ info ! ( "{} 🛰️ MD TCP server bound to: <u>{}</u>" , NAME , bind_addr) ;
221
+ }
222
+ if config. dhu && dhu_listener. is_none ( ) {
223
+ info ! ( "{} 🛰️ Starting TCP server for DHU..." , NAME ) ;
224
+ let bind_addr = format ! ( "0.0.0.0:{}" , TCP_DHU_PORT ) . parse ( ) . unwrap ( ) ;
225
+ dhu_listener = Some ( TcpListener :: bind ( bind_addr) . unwrap ( ) ) ;
226
+ info ! ( "{} 🛰️ DHU TCP server bound to: <u>{}</u>" , NAME , bind_addr) ;
227
+ }
228
+
226
229
let mut md_tcp = None ;
227
230
let mut md_usb = None ;
228
231
let mut hu_tcp = None ;
0 commit comments