Ticket #253 (new Bugs)

Opened 13 months ago

Last modified 3 months ago

Clean thread management for input.http() (and input.harbor())

Reported by: mrpingouin Owned by: admin
Priority: 1 Milestone:
Component: Liquidsoap Version:
Keywords: Cc:
Mac OSX: yes Linux: yes
NetBSD: yes Other Operating System: yes
FreeBSD: yes

Description

Currently, when an input.http goes to #sleep, it asks its feeding thread to exit, but does not check that it exited. As a consequence, a #wake_up quickly after the #sleep could cause (1) the old thread to not exit and hence (2) two feeding threads at the same time.

(Another slightly related issue is that the feeding thread might have non-trivial activity during the shutdown phase: it can be in the middle of a connection when shutdown starts, and we have to wait for it to start decoding before that it notices that it should exit.)

Change History

Note: See TracTickets for help on using tickets.