mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 17:23:27 -05:00
* Move unused forked code to external directory * Fix SLN build errors * Add back resource provider core since it's referenced by main resource provider project * Update PackageProjects step of pipeline
27 lines
695 B
C#
27 lines
695 B
C#
|
|
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Microsoft.SqlTools.ServiceLayer.Test.Common
|
|
{
|
|
public static class TaskExtensions
|
|
{
|
|
public static async Task<Task> WithTimeout(this Task task, TimeSpan timeout)
|
|
{
|
|
Task delayTask = Task.Delay(timeout);
|
|
Task firstCompleted = await Task.WhenAny(task, delayTask);
|
|
if (firstCompleted == delayTask)
|
|
{
|
|
throw new Exception("Task timed out");
|
|
}
|
|
|
|
return task;
|
|
}
|
|
}
|
|
}
|