Exemplo n.º 1
0
        private void HandleNodeBuildComplete(NodeBuildComplete buildComplete)
        {
            _shutdownReason = buildComplete.PrepareForReuse ? NodeEngineShutdownReason.BuildCompleteReuse : NodeEngineShutdownReason.BuildComplete;
            if (_shutdownReason == NodeEngineShutdownReason.BuildCompleteReuse)
            {
                ProcessPriorityClass priorityClass = Process.GetCurrentProcess().PriorityClass;
                if (priorityClass != ProcessPriorityClass.Normal && priorityClass != ProcessPriorityClass.BelowNormal)
                {
                    // This isn't a priority class known by MSBuild. We should avoid connecting to this node.
                    _shutdownReason = NodeEngineShutdownReason.BuildComplete;
                }
                else
                {
                    bool lowPriority = priorityClass == ProcessPriorityClass.BelowNormal;
                    if (_nodeEndpoint.LowPriority != lowPriority)
                    {
                        if (!lowPriority || NativeMethodsShared.IsWindows)
                        {
                            Process.GetCurrentProcess().PriorityClass = lowPriority ? ProcessPriorityClass.Normal : ProcessPriorityClass.BelowNormal;
                        }
                        else
                        {
                            // On *nix, we can't adjust the priority up, so to avoid using this node at the wrong priority, we should not be reused.
                            _shutdownReason = NodeEngineShutdownReason.BuildComplete;
                        }
                    }
                }
            }

            _shutdownEvent.Set();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handles the NodeBuildComplete packet.
        /// </summary>
        private void HandleNodeBuildComplete(NodeBuildComplete buildComplete)
        {
            ErrorUtilities.VerifyThrow(!_isTaskExecuting, "We should never have a task in the process of executing when we receive NodeBuildComplete.");

            _shutdownReason = buildComplete.PrepareForReuse ? NodeEngineShutdownReason.BuildCompleteReuse : NodeEngineShutdownReason.BuildComplete;
            _shutdownEvent.Set();
        }
Exemplo n.º 3
0
 private void HandleNodeBuildComplete(NodeBuildComplete buildComplete)
 {
     _shutdownReason = buildComplete.PrepareForReuse ? NodeEngineShutdownReason.BuildCompleteReuse : NodeEngineShutdownReason.BuildComplete;
     _shutdownEvent.Set();
 }