mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 17:51:53 +00:00
RPKI socket read is prioritized over other sockets
This commit is contained in:
parent
f9b46a1ba1
commit
2c4b368176
@ -76,6 +76,7 @@ rpki_tr_open(struct rpki_tr_sock *tr)
|
|||||||
/* sk->type -1 is invalid value, a correct value MUST be set in the specific transport layer in open_fp() hook */
|
/* sk->type -1 is invalid value, a correct value MUST be set in the specific transport layer in open_fp() hook */
|
||||||
sk->type = -1;
|
sk->type = -1;
|
||||||
|
|
||||||
|
sk->fast_rx = 1; /* We need to load the ROAs DAMN FAST */
|
||||||
sk->tx_hook = rpki_connected_hook;
|
sk->tx_hook = rpki_connected_hook;
|
||||||
sk->err_hook = rpki_err_hook;
|
sk->err_hook = rpki_err_hook;
|
||||||
sk->data = cache;
|
sk->data = cache;
|
||||||
|
@ -547,7 +547,7 @@ sockets_fire(struct birdloop *loop, _Bool read, _Bool write)
|
|||||||
|
|
||||||
/* Read until task limit is up */
|
/* Read until task limit is up */
|
||||||
if (read && (rev & POLLIN))
|
if (read && (rev & POLLIN))
|
||||||
while ((s == loop->sock_active) && s->rx_hook && sk_read(s, rev) && task_still_in_limit())
|
while ((s == loop->sock_active) && s->rx_hook && sk_read(s, rev) && (s->fast_rx || task_still_in_limit()))
|
||||||
;
|
;
|
||||||
|
|
||||||
if (s != loop->sock_active)
|
if (s != loop->sock_active)
|
||||||
|
Loading…
Reference in New Issue
Block a user