lock imbalance fix with workers > 1, seemed to affect FBSD.
moved sources count change for relays as that was increasing over restarts.
memory leak plugged on source_t removal.
double free prevented on listener_remove
auth_cmd stall fix.
small code cleanup
svn path=/icecast/branches/kh/icecast/; revision=16858
possible. Add back in the avl tree of listeners so that lookups can be done
quickly as we only use it now for deletion. Some minor issues for SC compat.
svn path=/icecast/branches/kh/icecast/; revision=16772
. memory corruption fix in stats/threading.
. fix for the excessive page flush bug leading to higher bandwidth than expected
with vorbis streams from certain source clients.
. avoid the ::ffff: part from IPv6 within an IP.
The other main change is the YP thread which is started from a dummy client
handle instead of the slave thread. it should now only startup from the worker
if there is work scheduled. Whether the slave thread can reduce wakeups would
need to be investigated.
command auth was updated but the performance results are similar to URL auth.
Other some internal code cleanups are also done. stats seems to be working much
better now.
karl.
svn path=/icecast/branches/kh/icecast/; revision=16691
use by the file handles, and some compile-time debug code to check for memory
usage.
. We can now fall back to file again without the original stream being present.
. Listener specific intro content can now come via auth listener_add.
. The relay updates for the retry, timeout and disable settings were missed
svn path=/icecast/branches/kh/icecast/; revision=16593
reload or server exit. small changes for win32, the icecast service should
be working better and I've updated the libogg to 1.1.4 for the build.
svn path=/icecast/branches/kh/icecast/; revision=16352
workers (as specified in the xml) instead of the one thread per source model.
This affects most files as they tend to interact with a client to some degree
but some of those are in minor ways.
The most significant changes are in :-
- file serving engine. There is no separate thread now, so the client reads
and sends are driven from the worker, this includes the error responses.
- The source client and listener processing. The source client details have
to stay around until the listeners are processed.
- slave engine. relays are always allocated a client on the worker, with a
thread created just for the connection phase. Makes it easier to handle when
switching to another relay source.
svn path=/icecast/branches/kh/icecast/; revision=16219
include build failures, ogg handling problems, and memory corruption.
The only new feature is that metadata updates can take a url arg now. The
refbuf cleanup still needs confirming but it is required to prevent the ogg
stream header pages disappearing. Other cleanups have occurred to help
merging to trunk and clean up valgrind reporting.
svn path=/icecast/branches/kh/icecast/; revision=15607
removal work for stats, video preview merge (not built by default) and a couple
of bug fixes from reported feedback.
svn path=/icecast/branches/kh/icecast/; revision=15372
buffer to the fserve engine, using a callback for 200 OK. Create a client_t
even on reaching the client limit as that allows for sending response via
fserve, should help with SSL migration work later
svn path=/icecast/branches/kh/icecast/; revision=9634