about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-03-28 05:43:12 +0000
committerbors <bors@rust-lang.org>2015-03-28 05:43:12 +0000
commit9f9e2516b41a63c4500f7cff1148de3ba05cc5cd (patch)
treebe933a2b49d7340af37718ec4945b173593795f0 /src/libstd/sys/unix/stack_overflow.rs
parente58f05717d49a4404638da81cb5ae431d2c7a6b6 (diff)
parente2fd2dffde52a59f7d59d67460aeb2ebf33f77dd (diff)
downloadrust-9f9e2516b41a63c4500f7cff1148de3ba05cc5cd.tar.gz
rust-9f9e2516b41a63c4500f7cff1148de3ba05cc5cd.zip
Auto merge of #23798 - alexcrichton:issue-23781, r=aturon
Previously a panic was generated for recursive prints due to a double-borrow of
a `RefCell`. This was solved by the second borrow's output being directed
towards the global stdout instead of the per-thread stdout (still experimental
functionality).

After this functionality was altered, however, recursive prints still deadlocked
due to the overridden `write_fmt` method which locked itself first and then
wrote all the data. This was fixed by removing the override of the `write_fmt`
method. This means that unlocked usage of `write!` on a `Stdout`/`Stderr` may be
slower due to acquiring more locks, but it's easy to make more performant with a
call to `.lock()`.

Closes #23781
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions