diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2018-04-07 20:17:23 +0200 |
---|---|---|
committer | Michał Cichoń <michcic@gmail.com> | 2018-10-30 13:08:55 +0100 |
commit | a9d5d2c3eb9d29d54509936b9e45f8eb034c033f (patch) | |
tree | c8473f5ef1a0f62c77df537cc1bf6d628b894d92 /src/main.c | |
parent | aed0f7555f7c684c0ef46304ecb5218c75b605cd (diff) | |
download | pianobar-windows-a9d5d2c3eb9d29d54509936b9e45f8eb034c033f.tar.gz pianobar-windows-a9d5d2c3eb9d29d54509936b9e45f8eb034c033f.tar.bz2 pianobar-windows-a9d5d2c3eb9d29d54509936b9e45f8eb034c033f.zip |
Add network timeouts and retries
All network operations can time out now. API requests are retried up to
three times (default). Replaces setting max_player_errors with
max_retries, which is used for player and API. Adds timeout setting.
Partially reverts 436a1d4012553a2f33d0e3a5180b3b5ae0378bdd and fixes
(at least) issue #657.
Thanks to @exarkun for testing.
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -248,9 +248,9 @@ static void BarMainStartPlayback(BarApp_t *app) PIANO_RET_OK); if (!BarPlayer2Play(app->player)) - ++app->playerErrors; + ++app->retries; else - app->playerErrors = 0; + app->retries = 0; } } @@ -265,11 +265,11 @@ static void BarMainPlayerCleanup(BarApp_t *app) BarConsoleSetTitle(TITLE); - if (app->playerErrors >= app->settings.maxPlayerErrors) + if (app->retries >= app->settings.maxRetry) { /* don't continue playback if thread reports too many error */ app->nextStation = NULL; - app->playerErrors = 0; + app->retries = 0; } } @@ -411,7 +411,8 @@ int main(int argc, char **argv) app.settings.keys[BAR_KS_HELP]); } - HttpInit(&app.http2, app.settings.rpcHost, app.settings.rpcTlsPort); + HttpInit(&app.http2, app.settings.rpcHost, app.settings.rpcTlsPort, + app.settings.timeout); if (app.settings.controlProxy) HttpSetProxy(app.http2, app.settings.controlProxy); |