|
1 | 1 | #![cfg(all(feature = "os-poll", feature = "net"))]
|
2 | 2 |
|
3 |
| -use mio::net::{TcpListener, TcpStream}; |
4 |
| -use mio::{Events, Interest, Poll, Token, Waker}; |
5 | 3 | use std::io::{self, Read};
|
6 | 4 | use std::sync::Arc;
|
7 | 5 | use std::time::Duration;
|
8 | 6 | use std::{net, thread};
|
9 | 7 |
|
| 8 | +use mio::net::{TcpListener, TcpStream}; |
| 9 | +use mio::{Events, Interest, Poll, Token, Waker}; |
| 10 | + |
10 | 11 | mod util;
|
11 |
| -use util::{any_local_address, init, init_with_poll}; |
| 12 | +use util::{any_local_address, init, init_with_poll, temp_file}; |
12 | 13 |
|
13 | 14 | const ID1: Token = Token(1);
|
14 | 15 | const WAKE_TOKEN: Token = Token(10);
|
@@ -103,3 +104,22 @@ fn issue_1205() {
|
103 | 104 | assert_eq!(waker_event.token(), WAKE_TOKEN);
|
104 | 105 | handle.join().unwrap();
|
105 | 106 | }
|
| 107 | + |
| 108 | +#[test] |
| 109 | +#[cfg(unix)] |
| 110 | +fn issue_1403() { |
| 111 | + use mio::net::UnixDatagram; |
| 112 | + |
| 113 | + init(); |
| 114 | + |
| 115 | + let path = temp_file("issue_1403"); |
| 116 | + let datagram1 = UnixDatagram::bind(&path).unwrap(); |
| 117 | + let datagram2 = UnixDatagram::unbound().unwrap(); |
| 118 | + |
| 119 | + let mut buf = [1u8; 1024]; |
| 120 | + let n = datagram2.send_to(&buf, &path).unwrap(); |
| 121 | + |
| 122 | + let (got, addr) = datagram1.recv_from(&mut buf).unwrap(); |
| 123 | + assert_eq!(got, n); |
| 124 | + assert_eq!(addr.as_pathname(), None); |
| 125 | +} |
0 commit comments