Avoid using Result and Wait() on Task<T>.

This commit is contained in:
Gert Driesen
2017-10-30 12:20:41 +01:00
parent 95f0f22cbf
commit 25bb64fde9
3 changed files with 10 additions and 8 deletions
@@ -2,18 +2,20 @@
using System.Net;
using System.Net.Sockets;
#if FEATURE_DEVICEINFORMATION_APM
#if FEATURE_DNS_SYNC
#elif FEATURE_DNS_APM
using Renci.SshNet.Common;
#elif FEATURE_DNS_TAP
#elif FEATURE_DEVICEINFORMATION_APM
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using Microsoft.Phone.Net.NetworkInformation;
#endif // FEATURE_DEVICEINFORMATION_APM
#if FEATURE_DATAGRAMSOCKET
#elif FEATURE_DATAGRAMSOCKET
using System.Collections.Generic;
using Windows.Networking;
using Windows.Networking.Sockets;
#endif // FEATURE_DATAGRAMSOCKET
#endif
namespace Renci.SshNet.Abstractions
{
@@ -41,7 +43,7 @@ namespace Renci.SshNet.Abstractions
throw new SshOperationTimeoutException("Timeout resolving host name.");
return Dns.EndGetHostAddresses(asyncResult);
#elif FEATURE_DNS_TAP
return Dns.GetHostAddressesAsync(hostNameOrAddress).Result;
return Dns.GetHostAddressesAsync(hostNameOrAddress).GetAwaiter().GetResult();
#else
IPAddress address;
if (IPAddress.TryParse(hostNameOrAddress, out address))
@@ -13,7 +13,7 @@ namespace Renci.SshNet.Abstractions
#if FEATURE_THREAD_SLEEP
System.Threading.Thread.Sleep(millisecondsTimeout);
#elif FEATURE_THREAD_TAP
System.Threading.Tasks.Task.Delay(millisecondsTimeout).Wait();
System.Threading.Tasks.Task.Delay(millisecondsTimeout).GetAwaiter().GetResult();
#else
#error Suspend of the current thread is not implemented.
#endif
+1 -1
View File
@@ -135,7 +135,7 @@ namespace Renci.SshNet
if (WaitHandle.WaitAny(new[] {readWaitHandle, _channelClosedWaitHandle}) == 0)
{
var read = readTask.Result;
var read = readTask.GetAwaiter().GetResult();
_channel.SendData(buffer, 0, read);
continue;
}