File tree Expand file tree Collapse file tree 2 files changed +32
-18
lines changed Expand file tree Collapse file tree 2 files changed +32
-18
lines changed Original file line number Diff line number Diff line change @@ -60,7 +60,7 @@ impl Writeable for UserOnionMessageContents {
60
60
}
61
61
}
62
62
63
- pub ( crate ) async fn poll_for_user_input (
63
+ pub ( crate ) fn poll_for_user_input (
64
64
peer_manager : Arc < PeerManager > , channel_manager : Arc < ChannelManager > ,
65
65
keys_manager : Arc < KeysManager > , network_graph : Arc < NetworkGraph > ,
66
66
onion_messenger : Arc < OnionMessenger > , inbound_payments : Arc < Mutex < PaymentInfoStorage > > ,
@@ -112,8 +112,12 @@ pub(crate) async fn poll_for_user_input(
112
112
continue ;
113
113
}
114
114
115
- if connect_peer_if_necessary ( pubkey, peer_addr, peer_manager. clone ( ) )
116
- . await
115
+ if tokio:: runtime:: Handle :: current ( )
116
+ . block_on ( connect_peer_if_necessary (
117
+ pubkey,
118
+ peer_addr,
119
+ peer_manager. clone ( ) ,
120
+ ) )
117
121
. is_err ( )
118
122
{
119
123
continue ;
@@ -259,8 +263,12 @@ pub(crate) async fn poll_for_user_input(
259
263
continue ;
260
264
}
261
265
} ;
262
- if connect_peer_if_necessary ( pubkey, peer_addr, peer_manager. clone ( ) )
263
- . await
266
+ if tokio:: runtime:: Handle :: current ( )
267
+ . block_on ( connect_peer_if_necessary (
268
+ pubkey,
269
+ peer_addr,
270
+ peer_manager. clone ( ) ,
271
+ ) )
264
272
. is_ok ( )
265
273
{
266
274
println ! ( "SUCCESS: connected to peer {}" , pubkey) ;
Original file line number Diff line number Diff line change @@ -943,19 +943,25 @@ async fn start_ldk() {
943
943
) ) ;
944
944
945
945
// Start the CLI.
946
- let cli_poll = tokio:: spawn ( cli:: poll_for_user_input (
947
- Arc :: clone ( & peer_manager) ,
948
- Arc :: clone ( & channel_manager) ,
949
- Arc :: clone ( & keys_manager) ,
950
- Arc :: clone ( & network_graph) ,
951
- Arc :: clone ( & onion_messenger) ,
952
- inbound_payments,
953
- outbound_payments,
954
- ldk_data_dir,
955
- network,
956
- Arc :: clone ( & logger) ,
957
- Arc :: clone ( & persister) ,
958
- ) ) ;
946
+ let cli_channel_manager = Arc :: clone ( & channel_manager) ;
947
+ let cli_persister = Arc :: clone ( & persister) ;
948
+ let cli_logger = Arc :: clone ( & logger) ;
949
+ let cli_peer_manager = Arc :: clone ( & peer_manager) ;
950
+ let cli_poll = tokio:: task:: spawn_blocking ( move || {
951
+ cli:: poll_for_user_input (
952
+ cli_peer_manager,
953
+ cli_channel_manager,
954
+ keys_manager,
955
+ network_graph,
956
+ onion_messenger,
957
+ inbound_payments,
958
+ outbound_payments,
959
+ ldk_data_dir,
960
+ network,
961
+ cli_logger,
962
+ cli_persister,
963
+ )
964
+ } ) ;
959
965
960
966
// Exit if either CLI polling exits or the background processor exits (which shouldn't happen
961
967
// unless we fail to write to the filesystem).
You can’t perform that action at this time.
0 commit comments