When the (current-error-port) is closed, other threads in the middle of using the port are likely to error out with a "port is closed" error. When this occurs, the Chicken Scheme runtime will either deadlock (when this happens on the output port), or worse, _hang_. As the barf procedure usess the current error port, it itself hits this same issue. We can't perfectly protect against this, as there's no mutex on the current output/error port; but we can improve the chances of hitting it massively, to the point where a simple program won't hit the deadlock. Change-Id: I3ccec0073b375ca21e8b46861c2f8c146a6a6964 |
||
|---|---|---|
| .. | ||
| src | ||
| default.nix | ||
| zilch.egg | ||