diff options
| author | David <daullmer@gmail.com> | 2020-07-22 11:02:44 +0200 |
|---|---|---|
| committer | David <daullmer@gmail.com> | 2020-07-22 11:02:44 +0200 |
| commit | 90039e1ad32dba8dca3b98901d2dcec1c82aeea2 (patch) | |
| tree | cafee5bd19816e5242c48acaa7e8c31b8a907278 /Emby.Server.Implementations/Udp | |
| parent | eae665a9c410540bdbf3880e340fa1a7fb19be92 (diff) | |
| parent | 5b57c81ee14ce585161b9ac331e6e3528826b815 (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.cs | 13 |
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)) |
