@@ -45,6 +45,8 @@ pub struct UnixDatagram {
45
45
46
46
impl UnixDatagram {
47
47
fn new ( socket : StdUnixDatagram ) -> UnixDatagram {
48
+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
49
+
48
50
UnixDatagram {
49
51
watcher : Async :: new ( socket) . expect ( "UnixDatagram is known to be good" ) ,
50
52
}
@@ -64,6 +66,8 @@ impl UnixDatagram {
64
66
/// # Ok(()) }) }
65
67
/// ```
66
68
pub async fn bind < P : AsRef < Path > > ( path : P ) -> io:: Result < UnixDatagram > {
69
+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
70
+
67
71
let path = path. as_ref ( ) . to_owned ( ) ;
68
72
let socket = Async :: < StdUnixDatagram > :: bind ( path) ?;
69
73
Ok ( UnixDatagram { watcher : socket } )
@@ -305,6 +309,8 @@ impl fmt::Debug for UnixDatagram {
305
309
impl From < StdUnixDatagram > for UnixDatagram {
306
310
/// Converts a `std::os::unix::net::UnixDatagram` into its asynchronous equivalent.
307
311
fn from ( datagram : StdUnixDatagram ) -> UnixDatagram {
312
+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
313
+
308
314
UnixDatagram {
309
315
watcher : Async :: new ( datagram) . expect ( "UnixDatagram is known to be good" ) ,
310
316
}
@@ -319,6 +325,8 @@ impl AsRawFd for UnixDatagram {
319
325
320
326
impl FromRawFd for UnixDatagram {
321
327
unsafe fn from_raw_fd ( fd : RawFd ) -> UnixDatagram {
328
+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
329
+
322
330
let raw = StdUnixDatagram :: from_raw_fd ( fd) ;
323
331
let datagram = Async :: < StdUnixDatagram > :: new ( raw) . expect ( "invalid file descriptor" ) ;
324
332
UnixDatagram { watcher : datagram }
0 commit comments