MetricsSystem.bootstrap verifies that the metric system has not been previously initialized. Otherwise it should fail with a corresponding error message. The precondition error message includes the name of the currently used factory and for that accesses self.factory. However, because bootstrap already holds self.lock as a writer lock, self.factory fails to get it as a reader and crashes with a less useful precondition error message. This commit ensures that the correct error message is printed. |
||
|---|---|---|
| .. | ||
| Locks.swift | ||
| Metrics.swift | ||