|
|
@@ -9,26 +9,26 @@ |
|
|
|
// except according to those terms. |
|
|
|
|
|
|
|
use std::task; |
|
|
|
use std::sync::atomic::{AtomicUint, INIT_ATOMIC_UINT, Relaxed}; |
|
|
|
use std::sync::atomic::{AtomicUint, ATOMIC_UINT_INIT, Relaxed}; |
|
|
|
use std::rand::{thread_rng, Rng, Rand}; |
|
|
|
|
|
|
|
const REPEATS: uint = 5; |
|
|
|
const MAX_LEN: uint = 32; |
|
|
|
static drop_counts: [AtomicUint; MAX_LEN] = |
|
|
|
// FIXME #5244: AtomicUint is not Copy. |
|
|
|
[ |
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
|
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, INIT_ATOMIC_UINT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, ATOMIC_UINT_INIT, |
|
|
|
]; |
|
|
|
|
|
|
|
static creation_count: AtomicUint = INIT_ATOMIC_UINT; |
|
|
|
static creation_count: AtomicUint = ATOMIC_UINT_INIT; |
|
|
|
|
|
|
|
#[deriving(Clone, PartialEq, PartialOrd, Eq, Ord)] |
|
|
|
struct DropCounter { x: uint, creation_id: uint } |
|
|
|