aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Udp
diff options
context:
space:
mode:
authorDavid <daullmer@gmail.com>2020-07-22 11:02:44 +0200
committerDavid <daullmer@gmail.com>2020-07-22 11:02:44 +0200
commit90039e1ad32dba8dca3b98901d2dcec1c82aeea2 (patch)
treecafee5bd19816e5242c48acaa7e8c31b8a907278 /Emby.Server.Implementations/Udp
parenteae665a9c410540bdbf3880e340fa1a7fb19be92 (diff)
parent5b57c81ee14ce585161b9ac331e6e3528826b815 (diff)
Merge remote-tracking branch 'remotes/jellyfin/api-migration' into api-audio
# Conflicts: # Emby.Server.Implementations/ApplicationHost.cs # Jellyfin.Api/Helpers/TranscodingJobHelper.cs
Diffstat (limited to 'Emby.Server.Implementations/Udp')
-rw-r--r--Emby.Server.Implementations/Udp/UdpServer.cs13
1 files changed, 10 insertions, 3 deletions
diff --git a/Emby.Server.Implementations/Udp/UdpServer.cs b/Emby.Server.Implementations/Udp/UdpServer.cs
index a26f714b12..73fcbcec3a 100644
--- a/Emby.Server.Implementations/Udp/UdpServer.cs
+++ b/Emby.Server.Implementations/Udp/UdpServer.cs
@@ -18,7 +18,7 @@ namespace Emby.Server.Implementations.Udp
public sealed class UdpServer : IDisposable
{
/// <summary>
- /// The _logger
+ /// The _logger.
/// </summary>
private readonly ILogger _logger;
private readonly IServerApplicationHost _appHost;
@@ -101,11 +101,18 @@ namespace Emby.Server.Implementations.Udp
{
while (!cancellationToken.IsCancellationRequested)
{
+ var infiniteTask = Task.Delay(-1, cancellationToken);
try
{
- var result = await _udpSocket.ReceiveFromAsync(_receiveBuffer, SocketFlags.None, _endpoint).ConfigureAwait(false);
+ var task = _udpSocket.ReceiveFromAsync(_receiveBuffer, SocketFlags.None, _endpoint);
+ await Task.WhenAny(task, infiniteTask).ConfigureAwait(false);
- cancellationToken.ThrowIfCancellationRequested();
+ if (!task.IsCompleted)
+ {
+ return;
+ }
+
+ var result = task.Result;
var text = Encoding.UTF8.GetString(_receiveBuffer, 0, result.ReceivedBytes);
if (text.Contains("who is JellyfinServer?", StringComparison.OrdinalIgnoreCase))