1
Fork 0

std: Remove struct ctors

This commit is contained in:
Brian Anderson 2012-09-04 17:22:09 -07:00
parent 268850f67b
commit eb0cf3a715
4 changed files with 64 additions and 10 deletions

View file

@ -223,13 +223,18 @@ fn check_poison(is_mutex: bool, failed: bool) {
#[doc(hidden)]
struct PoisonOnFail {
failed: &mut bool;
new(failed: &mut bool) { self.failed = failed; }
drop {
/* assert !*self.failed; -- might be false in case of cond.wait() */
if task::failing() { *self.failed = true; }
}
}
fn PoisonOnFail(failed: &r/mut bool) -> PoisonOnFail/&r {
PoisonOnFail {
failed: failed
}
}
/****************************************************************************
* R/W lock protected ARC
****************************************************************************/