Commit Graph

20 Commits

Author SHA1 Message Date
ejurgensen
18a80f15dd [httpd] Multithread solution using worker threads instead of httpd threads
Using worker threads instead of httpd threads means that we, not libevent,
decide which requests get handled by which threads. This means that we can
make sure blocking requests (e.g. volume changes) don't get in the way of
realtime(ish) stuff like mp3 streaming.

Includes refactor of httpd_stream_file() since it was a bit of a monster.
2023-03-07 21:01:45 +01:00
ejurgensen
b059d73211 [commands] Coverity fixups 2022-01-20 20:17:38 +01:00
ejurgensen
9c3887a80f [commands] Add missing include 2021-03-27 22:44:02 +01:00
ejurgensen
4ab734343c [-] Free events on exit (turns out event_base_free does not free them)
Credit @whatdoineed2do, ref. pr #797
2019-09-09 22:23:00 +02:00
ejurgensen
9f2f5566d2 [commands] Protect against race condition by moving event_add() inside lock
- otherwise commands_base_destroy() could free cmdbase before event_add()
2017-03-04 17:26:45 +01:00
ejurgensen
26c22144fc [-] Misc housekeeping (minor memleaks, invalid free's) 2017-02-12 01:19:56 +01:00
Scott Shambarger
8e3797ec43 [threads] Update mutex/cond functions to use new CHECK_ERR macros
Added various macros to check return values and log any errors and abort
if the call fails.
Updated logging to handle early errors before logging initialized.
2017-01-21 07:11:20 -08:00
Scott Shambarger
b54d94fda6 [threads] Added missing initializers, check errors on mutex/cond calls 2017-01-13 17:32:59 -05:00
Scott Shambarger
8ead7ea3b8 [config] configure.ac checks required features, updated porting
Added a real config.rpath
Fixed build date calc for BSD
Require some needed headers at configure time
Correctly check libav functions using pkg-config flags
Made checks for some Linux features available on other ports
Fixed porting issue with antlr dep files
Added default HOST_NAME_MAX if not defined
Added missing libav header
2016-12-29 16:14:22 -08:00
ejurgensen
bdd6bab982 [-] Lots of housekeeping thanks to scan-build and input from @acmay 2016-11-19 23:08:50 +01:00
ejurgensen
a03bc2a4e2 [commands] A bit of cleanup 2016-10-02 22:05:53 +02:00
ejurgensen
7af9c25964 Merge branch 'pulseaudio1' 2016-08-28 22:37:41 +02:00
ejurgensen
4318aa19b5 [commands] Update comment 2016-08-25 23:07:43 +02:00
chme
1238fe124a [commands] Stop command execution, if command function returns an unkown
command state
2016-08-06 06:50:27 +02:00
chme
c0c6cca79f [commands] Add some code comments 2016-06-11 10:56:27 +02:00
chme
32ac6c2ea9 [commands] Rename commands_cmdloop_break to commands_base_destroy and
free commands_base after breaking the libevent loop
2016-06-11 10:56:27 +02:00
chme
5258ee712c [commands] Added functionality to break the event loop of a command base 2016-06-11 09:52:31 +02:00
chme
610ae6a048 [commands] Move function documentation to their implementation
Also adds some aditional code documentation and an attempt at making
command_cb easier to understand
2016-05-21 07:57:44 +02:00
chme
6112c38220 [commands] do not cast return of calloc and allocate struct command on
stack if executed in sync
2016-05-21 05:59:45 +02:00
chme
9856536fd7 [commands] Add generic functionality for inter-thread communication
using libevent and pipes
2016-05-15 08:42:15 +02:00