Skip to content
Commit b7e64665 authored by Maria Matejka's avatar Maria Matejka
Browse files

Dropped the one-thread io loop, switching to one-thread-per-socket.

This is a crucial change of BIRD inside structures which breaks a lot of
internal assumptions. Special care must be taken with socket open and
close.

Before this change, there was one IO loop which chose the sockets to
process based on a modified round-robin principle. Now there is one
thread for each RX and also for each TX queue.

Before this change, the programmer could also rely on implicit rfree()
being called on all the sockets on protocol shutdown; now the RX threads
have to be cancelled explicitly when shutting a protocol down.

From now on, there is also automatic TX flush on every socket if
synchronous write fails.

This is needed for further unlocking and parallel processing of incoming
packets.
parent 4d667959
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment