From a5f78264f4368afed3ead6d97cf8fb1bb33eb493 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 31 Jan 2018 15:01:12 -0800 Subject: [PATCH 1/3] Update dependencies.props to 2.1.0-preview-28193, build tools to 2.1.0-preview1-1010 [ci skip] Scripted changes: - updated travis and appveyor.yml files to only build dev, ci, and release branches - updated dependencies.props - updated korebuild-lock.txt - updated korebuild.json to release/2.1 channel --- .appveyor.yml | 17 +++++------- .travis.yml | 28 +++++++++---------- build/dependencies.props | 60 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- korebuild.json | 4 +-- 5 files changed, 55 insertions(+), 58 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 296a790bc1..4eea96ab69 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,20 +1,17 @@ init: - - git config --global core.autocrlf true +- git config --global core.autocrlf true branches: only: - - master - - release - - dev - - feature/dev-si - - /^(.*\/)?ci-.*$/ - - /^rel\/.*/ + - dev + - /^release\/.*$/ + - /^(.*\/)?ci-.*$/ build_script: - - ps: .\run.ps1 default-build +- ps: .\run.ps1 default-build clone_depth: 1 environment: global: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true DOTNET_CLI_TELEMETRY_OPTOUT: 1 -test: off -deploy: off +test: 'off' +deploy: 'off' os: Visual Studio 2017 diff --git a/.travis.yml b/.travis.yml index 61ec7b5348..ccbc068a62 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,30 +2,30 @@ language: csharp sudo: required dist: trusty services: - - docker +- docker addons: apt: packages: - libunwind8 env: global: - - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - - DOTNET_CLI_TELEMETRY_OPTOUT: 1 + - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + - DOTNET_CLI_TELEMETRY_OPTOUT: 1 mono: none os: - - linux - - osx +- linux +- osx osx_image: xcode8.2 branches: only: - - master - - release - - dev - - feature/dev-si - - /^(.*\/)?ci-.*$/ - - /^rel\/.*/ + - dev + - /^release\/.*$/ + - /^(.*\/)?ci-.*$/ before_install: - - if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi +- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s + /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib + /usr/local/lib/; fi script: - - ./build.sh - - if test "$TRAVIS_OS_NAME" != "osx"; then bash test/SystemdActivation/docker.sh; fi +- ./build.sh +- if test "$TRAVIS_OS_NAME" != "osx"; then bash test/SystemdActivation/docker.sh; + fi diff --git a/build/dependencies.props b/build/dependencies.props index 67964d04ce..3b353f4110 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,41 +5,41 @@ 0.10.11 - 2.1.0-preview1-15679 + 2.1.0-preview1-1010 1.10.0 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 - 2.1.0-preview1-28153 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 + 2.1.0-preview1-28193 2.0.0 - 2.1.0-preview1-26126-02 - 2.1.0-preview1-28153 + 2.1.0-preview1-26122-01 + 2.1.0-preview1-28193 15.3.0 4.7.49 10.0.1 - 4.5.0-preview1-26126-05 - 0.1.0-preview1-180129-1 - 0.1.0-preview1-180129-1 - 0.1.0-preview1-180129-1 - 4.5.0-preview1-26126-05 - 4.5.0-preview1-26126-05 - 4.5.0-preview1-26126-05 - 4.5.0-preview1-26126-05 - 0.1.0-preview1-180129-1 - 4.5.0-preview1-26126-05 + 4.5.0-preview1-26119-06 + 0.1.0-e180104-2 + 0.1.0-e180104-2 + 0.1.0-e180104-2 + 4.5.0-preview1-26119-06 + 4.5.0-preview1-26119-06 + 4.5.0-preview1-26119-06 + 4.5.0-preview1-26119-06 + 0.1.0-e180104-2 + 4.5.0-preview1-26119-06 0.8.0 2.3.1 2.3.1 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index a474bc0e35..851bfbf203 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.1.0-preview1-15679 -commithash:5347461137cb45a77ddcc0b55b2478092de43338 +version:2.1.0-preview1-1010 +commithash:75ca924dfbd673c38841025b04c4dcd93b84f56d diff --git a/korebuild.json b/korebuild.json index bd5d51a51b..678d8bb948 100644 --- a/korebuild.json +++ b/korebuild.json @@ -1,4 +1,4 @@ { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev" + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.1/tools/korebuild.schema.json", + "channel": "release/2.1" } From 0608de37dcda40641d92ba3f52fe27e2d0acd4f3 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 9 Feb 2018 08:35:12 -0800 Subject: [PATCH 2/3] Upgrade dependencies to 2.1.0-preview1-28258 [auto-updated: dependencies] --- build/dependencies.props | 58 ++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 3b353f4110..0cc201a2bd 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -7,39 +7,39 @@ 0.10.11 2.1.0-preview1-1010 1.10.0 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 - 2.1.0-preview1-28193 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 + 2.1.0-preview1-28258 2.0.0 - 2.1.0-preview1-26122-01 - 2.1.0-preview1-28193 + 2.1.0-preview1-26126-02 + 2.1.0-preview1-28258 15.3.0 4.7.49 10.0.1 - 4.5.0-preview1-26119-06 - 0.1.0-e180104-2 - 0.1.0-e180104-2 - 0.1.0-e180104-2 - 4.5.0-preview1-26119-06 - 4.5.0-preview1-26119-06 - 4.5.0-preview1-26119-06 - 4.5.0-preview1-26119-06 - 0.1.0-e180104-2 - 4.5.0-preview1-26119-06 + 4.5.0-preview1-26126-05 + 0.1.0-preview1-180129-1 + 0.1.0-preview1-180129-1 + 0.1.0-preview1-180129-1 + 4.5.0-preview1-26126-05 + 4.5.0-preview1-26126-05 + 4.5.0-preview1-26126-05 + 4.5.0-preview1-26126-05 + 0.1.0-preview1-180129-1 + 4.5.0-preview1-26126-05 0.8.0 2.3.1 2.3.1 From d78e7ea80d734b6d0b094245e8c7727d670e13da Mon Sep 17 00:00:00 2001 From: Stephen Halter Date: Thu, 15 Feb 2018 14:05:45 -0800 Subject: [PATCH 3/3] Fixed race in sockets transport (#2279) (#2322) --- .../Internal/SocketConnection.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketConnection.cs b/src/Kestrel.Transport.Sockets/Internal/SocketConnection.cs index cf128c05f3..2ab964e894 100644 --- a/src/Kestrel.Transport.Sockets/Internal/SocketConnection.cs +++ b/src/Kestrel.Transport.Sockets/Internal/SocketConnection.cs @@ -57,13 +57,14 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal public async Task StartAsync(IConnectionHandler connectionHandler) { + Exception sendError = null; try { connectionHandler.OnConnection(this); // Spawn send and receive logic Task receiveTask = DoReceive(); - Task sendTask = DoSend(); + Task sendTask = DoSend(); // If the sending task completes then close the receive // We don't need to do this in the other direction because the kestrel @@ -76,7 +77,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal // Now wait for both to complete await receiveTask; - await sendTask; + sendError = await sendTask; // Dispose the socket(should noop if already called) _socket.Dispose(); @@ -85,6 +86,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal { _trace.LogError(0, ex, $"Unexpected exception in {nameof(SocketConnection)}.{nameof(StartAsync)}."); } + finally + { + // Complete the output after disposing the socket + Output.Complete(sendError); + } } private async Task DoReceive() @@ -181,7 +187,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal } } - private async Task DoSend() + private async Task DoSend() { Exception error = null; @@ -233,8 +239,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal } finally { - Output.Complete(error); - // Make sure to close the connection only after the _aborted flag is set. // Without this, the RequestsCanBeAbortedMidRead test will sometimes fail when // a BadHttpRequestException is thrown instead of a TaskCanceledException. @@ -242,6 +246,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal _trace.ConnectionWriteFin(ConnectionId); _socket.Shutdown(SocketShutdown.Both); } + + return error; } } }