Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions src/Build/BackEnd/Client/MSBuildClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,6 @@ public MSBuildClientExitResult Execute(CancellationToken cancellationToken)
// Connect to server.
if (!TryConnectToServer(serverIsAlreadyRunning ? 1_000 : 20_000))
{
CommunicationsUtilities.Trace("Failure to connect to a server.");
_exitResult.MSBuildClientExitType = MSBuildClientExitType.ConnectionError;
return _exitResult;
}

Expand All @@ -187,7 +185,8 @@ public MSBuildClientExitResult Execute(CancellationToken cancellationToken)
if (!TrySendBuildCommand())
{
CommunicationsUtilities.Trace("Failure to connect to a server.");
_exitResult.MSBuildClientExitType = MSBuildClientExitType.ConnectionError;
// Overwrite the client exit type from unexpected to connection error, since that would trigger the fallback to old build behavior.
_exitResult.MSBuildClientExitType = MSBuildClientExitType.UnableToConnect;
return _exitResult;
}

Expand Down Expand Up @@ -359,7 +358,7 @@ private bool TrySendPacket(Func<INodePacket> packetResolver)
catch (Exception ex)
{
CommunicationsUtilities.Trace("Failed to send command packet of type '{0}' to server: {1}", packet?.Type.ToString() ?? "Unknown", ex);
_exitResult.MSBuildClientExitType = MSBuildClientExitType.ConnectionError;
_exitResult.MSBuildClientExitType = MSBuildClientExitType.Unexpected;
return false;
}

Expand Down Expand Up @@ -515,7 +514,7 @@ private bool TryConnectToServer(int timeout)
catch (Exception ex)
{
CommunicationsUtilities.Trace("Failed to connect to server: {0}", ex);
_exitResult.MSBuildClientExitType = MSBuildClientExitType.ConnectionError;
_exitResult.MSBuildClientExitType = MSBuildClientExitType.UnableToConnect;
return false;
}

Expand Down
8 changes: 4 additions & 4 deletions src/Build/BackEnd/Client/MSBuildClientExitType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ public enum MSBuildClientExitType
/// </summary>
Success,
/// <summary>
/// Server is busy.
/// Server is busy. This would invoke a fallback behavior.
/// </summary>
ServerBusy,
/// <summary>
/// Client was unable to connect to the server.
/// Client was unable to connect to the server. This would invoke a fallback behavior.
/// </summary>
ConnectionError,
UnableToConnect,
/// <summary>
/// Client was unable to launch the server.
/// Client was unable to launch the server. This would invoke a fallback behavior.
/// </summary>
LaunchError,
/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion src/Build/PublicAPI/net/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ Microsoft.Build.Experimental.MSBuildClientExitResult.MSBuildClientExitResult() -
Microsoft.Build.Experimental.MSBuildClientExitResult.MSBuildClientExitType.get -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitResult.MSBuildClientExitType.set -> void
Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.ConnectionError = 2 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.LaunchError = 3 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.ServerBusy = 1 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.Success = 0 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.UnableToConnect = 2 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.Unexpected = 4 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.OutOfProcServerNode
Microsoft.Build.Experimental.OutOfProcServerNode.BuildCallback
Expand Down
2 changes: 1 addition & 1 deletion src/Build/PublicAPI/netstandard/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ Microsoft.Build.Experimental.MSBuildClientExitResult.MSBuildClientExitResult() -
Microsoft.Build.Experimental.MSBuildClientExitResult.MSBuildClientExitType.get -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitResult.MSBuildClientExitType.set -> void
Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.ConnectionError = 2 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.LaunchError = 3 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.ServerBusy = 1 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.Success = 0 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.UnableToConnect = 2 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.MSBuildClientExitType.Unexpected = 4 -> Microsoft.Build.Experimental.MSBuildClientExitType
Microsoft.Build.Experimental.OutOfProcServerNode
Microsoft.Build.Experimental.OutOfProcServerNode.BuildCallback
Expand Down
3 changes: 2 additions & 1 deletion src/MSBuild/MSBuildClientApp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ public static MSBuildApp.ExitType Execute(
MSBuildClientExitResult exitResult = msbuildClient.Execute(cancellationToken);

if (exitResult.MSBuildClientExitType == MSBuildClientExitType.ServerBusy ||
exitResult.MSBuildClientExitType == MSBuildClientExitType.ConnectionError)
exitResult.MSBuildClientExitType == MSBuildClientExitType.UnableToConnect ||
exitResult.MSBuildClientExitType == MSBuildClientExitType.LaunchError)
{
// Server is busy, fallback to old behavior.
return MSBuildApp.Execute(commandLine);
Expand Down