Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Go back to waiting for override descriptor.proto with all other deps (#…
…115) In #109, trying to be clever, I moved the place where we block for an override descriptor.proto to "just in time", before options are interpreted. That seemed like a potential latency improvement to allow compilation of the override descriptor.proto to overlap with the linking of the file in question, if the file in question didn't actually directly depend on descriptor.proto. However, it blocks for the other result while still holding the semaphore! So this opens up the possibility of deadlock 🤦. A possible remedy is to release the semaphore before blocking, and re-acquiring when done. But that seems too complicated/brittle: we already have code that must release/re-acquire the semaphore, so it seems best to just keep that in one place. Which means reverting the "clever" change and just waiting for an override descriptor.proto while waiting for all other imports.
- Loading branch information