GN: don't deadlock when encountering import loops

If there is an import loop, and a single thread processes an item in
that loop twice, then GN would previously deadlock when trying to lock
the file the second time (debug builds would catch the deadlock and
exit).

that release build gn gen catches this error and dies with a useful
error message.

Test: make two .gni files in the tree import each other, then check
Bug: 
Change-Id: I041206bb8b89c7b3656aa85ef19c2df02f275bd5
Reviewed-on: https://chromium-review.googlesource.com/805239
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
Cr-Original-Commit-Position: refs/heads/master@{#522991}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 06ebd496239c53c43f3fd18c887a4534d9f723f0
2 files changed
tree: 7ae65b5a0ae4433ef864c10121faa85e89104c6d
  1. tools/