diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-12-12 17:34:29 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-12-24 14:42:00 -0800 |
| commit | 76270816d527bfceef64bf6cbdc64f985ca73eba (patch) | |
| tree | 1b620e0a90a0119e309ff560e2214152e9d608f1 /src/libstd/rt | |
| parent | dd19785f963fd1045e53447add17ab36ca41fc79 (diff) | |
| download | rust-76270816d527bfceef64bf6cbdc64f985ca73eba.tar.gz rust-76270816d527bfceef64bf6cbdc64f985ca73eba.zip | |
std: Make logging safely implemented
This commit fixes the logging function to be safely implemented, as well as forcibly requiring a task to be present to use logging macros. This is safely implemented by transferring ownership of the logger from the task to the local stack frame in order to perform the print. This means that if a logger does more logging while logging a new one will be initialized and then will get overwritten once the initial logging function returns. Without a scheme such as this, it is possible to unsafely alias two loggers by logging twice (unsafely borrows from the task twice).
Diffstat (limited to 'src/libstd/rt')
0 files changed, 0 insertions, 0 deletions
