Project: Icecast

Revision: 15123

Author: karl

Date: 21 Jul 2008 22:24:30

Changes:

Some have reported that if they do a series of requests in succession that
the overall time is very slow. This lag is mainly down to the sleep that
the connection and fserve threads do to prevent busy looping when idle. The
sleep has to expire even if requests are waiting.

This patch merges the tasks done by the connection and listener thread into
one thread. It allows us to remove some locking, reduce thread usage and
service new connections more quickly as the poll/select acts as the busy
CPU prevention.

Files:
modified: /icecast/trunk/icecast/src/connection.c (try)
Diff: To list