Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
This has been bothering me for a while... the symptom is that the build just hangs at the end. Curiously it's never happend on the bots, only locally. 1. It only happens when using parallel make. When using parallel make, make is in a jobserver mode, where sub-makes are controlled using a pair of file descriptors inherited by the sub-makes. A consequence of this algorithm is that the controlling make process will wait until all inherited file descriptors have been closed before it will realize that all its sub-makes have finished. 2. 'dotnet pack' will build the corresponding project, and that might start a background compiler server. 3. This background compiler server does not seem to close any file descriptors it inherits. 4. The background compiler server does not necessarily exit by the time `make` is done. 5. The result is that `make` things there are still sub-makes doing stuff, because there are inherited file descriptors still open. 6. Killing the compiler server (in another terminal for instance) will make make realize it's done (and the hang is resolved). So I'm applying the last point: shutting down the compiler server after packing all the .NET NuGets. Fixes #13355.
- Loading branch information
This comment was marked as outdated.
Sorry, something went wrong.