summaryrefslogtreecommitdiffstats
path: root/tokio/src/sync/tests/loom_mpsc.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tokio/src/sync/tests/loom_mpsc.rs')
-rw-r--r--tokio/src/sync/tests/loom_mpsc.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tokio/src/sync/tests/loom_mpsc.rs b/tokio/src/sync/tests/loom_mpsc.rs
index e8db2dea..330e798b 100644
--- a/tokio/src/sync/tests/loom_mpsc.rs
+++ b/tokio/src/sync/tests/loom_mpsc.rs
@@ -41,6 +41,34 @@ fn closing_unbounded_tx() {
}
#[test]
+fn closing_bounded_rx() {
+ loom::model(|| {
+ let (mut tx1, rx) = mpsc::channel::<()>(16);
+ let mut tx2 = tx1.clone();
+ thread::spawn(move || {
+ drop(rx);
+ });
+
+ block_on(tx1.closed());
+ block_on(tx2.closed());
+ });
+}
+
+#[test]
+fn closing_unbounded_rx() {
+ loom::model(|| {
+ let (mut tx1, rx) = mpsc::unbounded_channel::<()>();
+ let mut tx2 = tx1.clone();
+ thread::spawn(move || {
+ drop(rx);
+ });
+
+ block_on(tx1.closed());
+ block_on(tx2.closed());
+ });
+}
+
+#[test]
fn dropping_tx() {
loom::model(|| {
let (tx, mut rx) = mpsc::channel::<()>(16);