summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2018-04-07 20:17:23 +0200
committerMichał Cichoń <michcic@gmail.com>2018-10-30 13:08:55 +0100
commita9d5d2c3eb9d29d54509936b9e45f8eb034c033f (patch)
treec8473f5ef1a0f62c77df537cc1bf6d628b894d92 /src/main.c
parentaed0f7555f7c684c0ef46304ecb5218c75b605cd (diff)
downloadpianobar-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.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/main.c b/src/main.c
index 4f4214a..a75388e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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);