debug of possible deadlock
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
43d3137dd2
commit
f559fa9fd0
13
src/ipblc.rs
13
src/ipblc.rs
@ -64,9 +64,8 @@ pub async fn run() {
|
|||||||
ipevent = ipeventrx.recv() => {
|
ipevent = ipeventrx.recv() => {
|
||||||
let received_ip = ipevent.unwrap();
|
let received_ip = ipevent.unwrap();
|
||||||
|
|
||||||
let mut ctx = ctxclone.write().await;
|
|
||||||
|
|
||||||
if received_ip.msgtype == "bootstrap".to_string() {
|
if received_ip.msgtype == "bootstrap".to_string() {
|
||||||
|
let mut ctx = ctxclone.write().await;
|
||||||
for ip_to_send in ctx.get_blocklist_toblock().await {
|
for ip_to_send in ctx.get_blocklist_toblock().await {
|
||||||
let ipe = IpEvent{
|
let ipe = IpEvent{
|
||||||
msgtype: String::from("init"),
|
msgtype: String::from("init"),
|
||||||
@ -84,8 +83,13 @@ pub async fn run() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let (filtered_ipevent,server);
|
||||||
|
{
|
||||||
|
let mut ctx = ctxclone.write().await;
|
||||||
// refresh context blocklist
|
// refresh context blocklist
|
||||||
let filtered_ipevent = ctx.update_blocklist(&received_ip).await;
|
filtered_ipevent = ctx.update_blocklist(&received_ip).await;
|
||||||
|
server = ctx.flags.server.clone();
|
||||||
|
}
|
||||||
|
|
||||||
// send ip list to api and ws sockets
|
// send ip list to api and ws sockets
|
||||||
if let Some(ipevent) = filtered_ipevent {
|
if let Some(ipevent) = filtered_ipevent {
|
||||||
@ -97,9 +101,8 @@ pub async fn run() {
|
|||||||
hostname: gethostname(true),
|
hostname: gethostname(true),
|
||||||
ipdata: ipevent.ipdata,
|
ipdata: ipevent.ipdata,
|
||||||
};
|
};
|
||||||
send_to_ipbl_api(&ctx.flags.server, &ipe).await;
|
send_to_ipbl_api(&server, &ipe).await;
|
||||||
let status = send_to_ipbl_websocket(&mut wssocketrr, &ipe).await;
|
let status = send_to_ipbl_websocket(&mut wssocketrr, &ipe).await;
|
||||||
drop(ctx);
|
|
||||||
if !status {
|
if !status {
|
||||||
wssocketrr = websocketreqrep(&ctxwsrr).await;
|
wssocketrr = websocketreqrep(&ctxwsrr).await;
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user