File tree Expand file tree Collapse file tree 1 file changed +16
-3
lines changed Expand file tree Collapse file tree 1 file changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -328,23 +328,23 @@ pub fn run_node(matches: &ArgMatches) -> Result<(), String> {
328328 block_sync : maybe_sync_sender,
329329 } ) ;
330330
331- let _rpc_server = {
331+ let rpc_server = {
332332 if !config. rpc . disable . unwrap ( ) {
333333 Some ( rpc_http_start ( config. rpc_http_config ( ) , config. rpc . enable_devel_api , & * rpc_apis_deps) ?)
334334 } else {
335335 None
336336 }
337337 } ;
338338
339- let _ipc_server = {
339+ let ipc_server = {
340340 if !config. ipc . disable . unwrap ( ) {
341341 Some ( rpc_ipc_start ( & config. rpc_ipc_config ( ) , config. rpc . enable_devel_api , & * rpc_apis_deps) ?)
342342 } else {
343343 None
344344 }
345345 } ;
346346
347- let _ws_server = {
347+ let ws_server = {
348348 if !config. ws . disable . unwrap ( ) {
349349 Some ( rpc_ws_start ( & config. rpc_ws_config ( ) , config. rpc . enable_devel_api , & * rpc_apis_deps) ?)
350350 } else {
@@ -376,5 +376,18 @@ pub fn run_node(matches: &ArgMatches) -> Result<(), String> {
376376
377377 wait_for_exit ( ) ;
378378
379+ if let Some ( server) = rpc_server {
380+ server. close_handle ( ) . close ( ) ;
381+ server. wait ( ) ;
382+ }
383+ if let Some ( server) = ipc_server {
384+ server. close_handle ( ) . close ( ) ;
385+ server. wait ( ) ;
386+ }
387+ if let Some ( server) = ws_server {
388+ server. close_handle ( ) . close ( ) ;
389+ server. wait ( ) . map_err ( |err| format ! ( "Error while closing jsonrpc ws server: {}" , err) ) ?;
390+ }
391+
379392 Ok ( ( ) )
380393}
You can’t perform that action at this time.
0 commit comments