Libera-Chat / sable

GNU Affero General Public License v3.0
88 stars 8 forks source link

Inconsistent behavior when `history_receiver.recv()` returns `None` #141

Open progval opened 3 weeks ago

progval commented 3 weeks ago

ServicesServer ignores it:

https://github.com/Libera-Chat/sable/blob/3c6bc2ffbcc680e3bbdcf08cd5bba34adf08f0a9/sable_services/src/server/mod.rs#L109-L121

but HistoryServer breaks the loop:

https://github.com/Libera-Chat/sable/blob/3c6bc2ffbcc680e3bbdcf08cd5bba34adf08f0a9/sable_history/src/server/mod.rs#L68-L75

HistoryServer is probably the correct one here, it looks like ServicesServer would enter an infinite loop when the associated sender is dropped